A - 检查宿舍卫生
#include<bits/stdc++.h>
using namespace std;
struct dd
{
int a, b, c, d, e, sum;
}s[111];
int main()
{
int n, i, maxn, flag = 0;
cin>>n;
for(i = 0;i < n;i ++)
{
cin>>s[i].a>>s[i].b>>s[i].c>>s[i].d>>s[i].e;
s[i].sum = s[i].a + s[i].b + s[i].c + s[i].d + s[i].e;
}
for(i = 0;i < n;i ++)
{
if(s[i].sum < 85)flag ++;
}
maxn = 0;
for(i = 0;i < n;i ++)
{
if(s[i].sum > maxn)
{
maxn = s[i].sum;
}
}
if(maxn < 85)cout<<flag<<" "<<"No\n";
else cout<<flag<<" "<<maxn;
return 0;
}
B - 小 I 的小姐姐
#include<bits/stdc++.h>
using namespace std;
struct dd
{
int a, b, c, sum;
}s[1111];
int main()
{
int n, i, k, maxn;
cin>>n;
for(i = 0;i < n;i ++)
{
cin>>s[i].a>>s[i].b>>s[i].c;
s[i].sum = 0.7*s[i].a + 0.2*s[i].b + 0.1*s[i].c;
}
maxn = 0;
for(i = 0;i < n;i ++)
{
if(s[i].sum > maxn)
{
maxn = s[i].sum;
k = i;
}
}
cout<<k<<endl;
return 0;
}
C - 选票统计
#include<bits/stdc++.h>
using namespace std;
int a[1111111];
int b[1111111];
int main()
{
int n, m, i, maxn, k;
cin>>m>>n;
for(i = 0;i < n;i ++)
{
cin>>a[i];
}
for(i = 0;i < n;i ++)
{
b[a[i]] ++;
}
maxn = 0;
for(i = 0;i < n;i ++)
{
if(b[a[i]] >= maxn)
{
maxn = b[a[i]];
k = i;
}
}
cout<<a[k]<<endl<<b[a[k]]<<endl;
return 0;
}
D - 小 I 选宾馆
#include<bits/stdc++.h>
using namespace std;
struct dd
{
int p, c, m;
} s[111111];
bool cmp(dd a, dd b)
{
if(a.p == b.p && a.c == b.c)
return a.m < b.m;
if(a. p == b.p)
return a.c > b.c;
return a.p > b.p;
}
int main()
{
int n, i;
cin>>n;
for(i = 0; i < n; i ++)
{
cin>>s[i].p>>s[i].c;
s[i].m = i + 1;
}
sort(s, s + n, cmp);
cout<<s[0].m;
return 0;
}
E - 小鑫の日常系列故事(十)——排名次
#include<bits/stdc++.h>
using namespace std;
struct dd
{
char a[111];
int b;
}s[1111];
bool cmp(dd a, dd b)
{
return a.b > b.b;
}
int main()
{
int n, i;
cin>>n;
for(i = 0;i < n;i ++)
{
scanf("%s %d", s[i].a, &s[i].b);
}
sort(s, s + n, cmp);
for(i = 0;i < n;i ++)
{
printf("%s %d\n", s[i].a, s[i].b);
}
return 0;
}
F - 最终排名
#include<bits/stdc++.h>
using namespace std;
struct dd
{
int id, m, i;
}s[111111];
bool cmp(dd a, dd b)
{
if(a.m == b.m)return a.i < b.i;
return a.m > b.m;
}
int main()
{
int n, i;
cin>>n;
for(i = 0;i < n;i ++)
{
cin>>s[i].id>>s[i].m;
s[i].i = i;
}
sort(s, s + n, cmp);
for(i = 0;i < n;i ++)
{
cout<<s[i].id<<" "<<s[i].m<<endl;
}
return 0;
}
G - 选夫婿1
#include<bits/stdc++.h>
using namespace std;
struct dd
{
char a[1111];
int h, w;
} s[1111];
bool cmp(dd a, dd b)
{
if(a.h == b.h)
return a.w < b.w;
return a.h < b.h;
}
int main()
{
int n, i, h1, h2, w1, w2, flag = 0;
cin>>n;
for(i = 0; i < n; i ++)
{
cin>>s[i].a>>s[i].h>>s[i].w;
}
cin>>h1>>h2>>w1>>w2;
sort(s, s + n, cmp);
for(i = 0;i < n;i ++)
{
if(s[i].h >= h1&&s[i].h <= h2&&s[i].w >= w1&&s[i].w <= w2)
{
flag = 1;
printf("%s %d %d\n", s[i].a, s[i].h, s[i].w);
}
}
if(flag == 0)printf("No\n");
return 0;
}
H - 老--质价比
#include<bits/stdc++.h>
using namespace std;
struct dd
{
int w, p;
}s[1111];
bool cmp(dd a, dd b)
{
if(a.w == b.w)
return a.p > b.p;
return a.w < b.w;
}
int main()
{
int n, i;
cin>>n;
for(i = 0;i < n;i ++)
cin >> s[i].w;
for(i = 0;i < n;i ++)
cin >> s[i].p;
sort(s, s + n, cmp);
for(i = 0;i < n;i ++)
{
cout<<s[i].w<<" "<<s[i].p<<endl;
}
return 0;
}
I - 共用体练习
#include<bits/stdc++.h>
using namespace std;
union dd
{
int a;
double b;
char c[33];
}s[111111];
char u[111111][111];
int main()
{
int n, m, i, j;
cin >> n >> m;
for(i = 0;i < n;i ++)
{
cin >> u[i];
if(strcmp(u[i], "INT") == 0)
cin >> s[i].a;
else if(strcmp(u[i], "DOUBLE") == 0)
cin >> s[i].b;
else if(strcmp(u[i], "STRING") == 0)
cin >> s[i].c;
}
for(i = 0;i < m;i ++)
{
cin >> j;
if(strcmp(u[j], "INT") == 0)
printf("%d\n", s[j].a);
else if(strcmp(u[j], "DOUBLE") == 0)
printf("%.2f\n", s[j].b);
else if(strcmp(u[j], "STRING") == 0)
printf("%s\n", s[j].c);
}
return 0;
}
J - 简单枚举类型——植物与颜色
#include<bits/stdc++.h>
#include<string.h>
using namespace std;
char s[111];
int main()
{
enum color {red,orange,yellow,green,blue,violet,no};
enum color a;
int n,i;
cin>>n;
for(i=0;i<n;i++)
{
scanf("%s",s);
if(strcmp("red",s)==0)
a=red;
else if(strcmp("orange",s)==0)
a=orange;
else if(strcmp("yellow",s)==0)
a=yellow;
else if(strcmp("green",s)==0)
a=green;
else if(strcmp("blue",s)==0)
a=blue;
else if(strcmp("violet",s)==0)
a=violet;
else
a=no;
switch(a)
{
case red:cout<<"Rose are red."<<endl;break;
case orange:cout<<"Poppies are orange."<<endl;break;
case yellow:cout<<"Sunflower are yellow."<<endl;break;
case green:cout<<"Grass are green."<<endl;break;
case blue:cout<<"Bluebells are blue."<<endl;break;
case violet:cout<<"Violets are violet."<<endl;break;
case no:printf("I don't know about the color %s.\n",s);
}
}
return 0;
}