您的位置:首页 > 其它

1055. The World's Richest (25)

2016-06-27 09:31 232 查看
IDEA

1.测试点二容易超时,所有的cin,cout改为scanf和printf;

2.用scanf输入string类型

#include <stdio.h>
#include <string>
using namespace std;
int main()
{
string a;
a.resize(100); //需要预先分配空间
scanf("%s", &a[0]);
//puts(a.c_str());
printf("%s",a.c_str());
return 0;
}



CODE

#include<iostream>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
#include<fstream>
using namespace std;
struct Person{
string name;
int age;
int worth;
};
int cmp(Person p1,Person p2){
if(p1.worth==p2.worth){
if(p1.age==p2.age){
return p1.name<p2.name;
}
return p1.age<p2.age;
}
return p1.worth>p2.worth;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif

int n,k;
scanf("%d %d",&n,&k);
vector<Person> vec;
for(int i=0;i<n;i++){
Person person;
person.name.resize(8);
scanf("%s %d %d",&person.name[0],&person.age,&person.worth);
vec.push_back(person);
}
sort(vec.begin(),vec.end(),cmp);
for(int j=1;j<=k;j++){
printf("Case #%d:\n",j);
int num,amin,amax;
cin>>num>>amin>>amax;
int count=0;
vector<Person> res;
for(int i=0;i<vec.size();i++){
if(vec[i].age>=amin&&vec[i].age<=amax){
printf("%s %d %d\n",vec[i].name.c_str(),vec[i].age,vec[i].worth);
count++;
if(count==num){
break;
}
}
}
if(!count){
printf("None\n");
}
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PAT scanf输入string