(精)河南省第三届acm(AMAZING AUCTION)

来源:互联网 发布:巨潮财经数据库 编辑:程序博客网 时间:2024/05/02 01:14
/*1 vector 也是从1开始2 capacity求出来的是数量3 string中=已经重载可以用来复制4 cout<<string<<endl是错误的。可以一个一个的输出*/#include<iostream>#include<stdio.h>#include<string.h>#include<vector>using namespace std;#define MAX 120class Point{public:char name[20];int  money;};Point person[MAX];int bid[1200];//出家的个数int main(){//freopen("in.txt","r",stdin);int U,M;while(scanf("%d %d",&U,&M)!=EOF){int i=0;//初始化for(i=0;i<1200;i++){bid[i]=0;}//输入vector<string> v[1200];int price;string win;int flag=0;for(i=0;i<M;i++){scanf("%s %d",person[i].name,&person[i].money);bid[person[i].money]++;v[person[i].money].push_back(person[i].name);}//判断是不是第一种情况(unique,)for(i=0;i<1200;i++){if(bid[i]==1){price=i;int num=v[i].capacity();win=v[i].at(num-1);win=v[i].back();flag=1;break;}}//判断是不是第二种情况if(flag==0){//找出最小值for(i=0;i<1200;i++){//求出最小值(但是不能是1,或者0)if(bid[i]>1){win=v[i].at(0);price=i;break;}}}//输出printf("The winner is ");for(i=0;i<win.length();i++){cout<<win[i];}cout<<endl;printf("The price is %d\n",price);}return 0;}

原创粉丝点击