排位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 }