TJU 3181. Stock Exchange
ACCEPTED
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
char s[100],s1[100],s2[100];
int i,j,k;
vector<double>price;
vector<string>agent,buysell;
while(1){
int n;
scanf("%d%s",&n,s);
string str=s,str1;
double d;
if(n==0&&str=="END") break;
agent.clear();buysell.clear();price.clear();
for(int i=0;i<n;i++){
scanf("%s%s%lf",s1,s2,&d);
str1=s1;agent.push_back(str1);
str1=s2;buysell.push_back(str1);
price.push_back(d);
}
vector< vector<string> > v;
vector<string> tmp;
vector< vector<string> >::iterator x;
//for(x=v.begin();x<v.begin();x++)
// (*x).clear();
v.clear();
tmp.clear();
vector<string>::iterator it1,it2,it3,it4;
it3=buysell.begin();it4=buysell.begin();
vector<double>::iterator it5,it6;
it5=price.begin();it6=price.begin();
for(it1=agent.begin();it1<agent.end();it1++,it3++,it5++){
//cout<<"yes";
tmp.clear();
int flag=0;
for(it2=agent.begin(),it4=buysell.begin(),it6=price.begin();it2<agent.end();it2++,it4++,it6++){
if(it1!=it2){
if(*it3!=*it4){
if(*it3=="buy"){
if(*it6<=*it5){
tmp.push_back(*it2);
flag=1;
}
}
else if(*it3=="sell"){
if(*it5<=*it6){
tmp.push_back(*it2);
flag=1;
}
}
}
}
}
if(flag==0) {tmp.push_back("NO-ONE");
v.push_back(tmp);
}
else
v.push_back(tmp);
}
printf("%s\n",s);
vector<string>::iterator it=agent.begin();
vector< vector<string> >::iterator ii;
vector<string>::iterator ii2;
ii=v.begin();
for(int i=0;i<n;i++,it++,ii++){
cout<<*it<<":";
for(ii2=(*ii).begin();ii2<(*ii).end();ii2++){
cout<<" "<<(*ii2);
}
cout<<endl;
}
}
return 0;
}



Recent Comments