排位4

1.kk与答辩(把出现过的人名都记录一遍map,然后再用另一个容器储存大于过kk的人名,最后总人名和其相减就是所求)

ps:当时输入流混用了导致re。切记

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main() {
 5     int t;
 6     cin>>t;
 7     while(t--) {
 8         int n;
 9         cin>>n;
10         int a;
11         string name;
12         map<string,int>mp,dp;
13         int guan,ping;
14         while(n--)
15         {
16             cin>>a;
17             int max;
18             for(int i=0;i<a;i++)
19             {
20                 cin >> name >> ping >> guan;
21                 if(i==0)max=guan+ping;
22                 if(i>0)dp[name]=1;
23                 if(i>0&&guan+ping>=max)mp[name]=1;
24             }
25         }
26         int ans=0,tmp=0;
27         for(auto&[c,d]:dp)
28         {
29             ans++;
30         }
31         for(auto&[c,d]:mp)
32         {
33             tmp++;
34         }
35         cout<<ans-tmp<<endl;
36     }
37     return 0;
38 }

2.kk与英语(就是个简单替换,多思考还要😓)

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5         string s;
 6         getline(cin,s);//这样可以整行读入,以后尽量这样子
 7         for(int i=0;i<s.size();i++) {
 8             if(i+3<s.size() && s[i]==' ' && s[i+1]=='i' && s[i+2]=='s' && s[i+3]==' ') {
 9                 s[i+1]='*' , s[i+2]='0';
10             }
11         }
12         for(int i=0;i<s.size();i++) {
13             if(s[i]=='*')
14             {
15                 cout << "was";
16                 continue;
17             }
18             else if(s[i]=='0') continue;
19             cout << s[i];
20         }
21         cout << endl;
22     return 0;
23 }

 

posted @ 2024-02-17 20:29  伊芙加登  阅读(13)  评论(0)    收藏  举报