首先,第一题fst了 2333

#include <bits/stdc++.h> #define int long long using namespace std ; int s = 0; signed main () { int a[10] ; for(int i = 1 ; i<= 4 ; i ++) { cin >>a[i] ; s += a[i] ; } sort(a+1,a+1+4) ; int flag = 1 ; if(a[1]+a[4]==a[2]+a[3] || a[1]+a[2]+a[3] == a[4]) { // <-- 判断条件一开始打错了!!!!! puts("YES") ; } else { puts("NO") ; } }

再者, B 题fst了

代码如下

#include <bits/stdc++.h> #define int long long using namespace std ; string s ; int n , k; signed main () { cin >> k >> n ; cin >> s ; if(k == 1) { if(n) puts("0") ; else cout << k << endl ; // <-- 错因没错了 return 0 ; } for(int i = 0 ; i < s.size() ; i ++) { if(!n) break ; if(s[i] == '0') continue ; if(i == 0 && i != s.size()-1) { if(s[i] == '1') continue ; else s[i] = '1' , n -- ; }else { s[i] = '0' ; n -- ; } } for(int i = 0 ; i < s.size() ; i ++) cout << s[i] << "" ; }

反馈回来这个我蒙了............

 #include <bits/stdc++.h> #define int long long using namespace std ; string s ; int n , k; signed main () { cin >> k >> n ; cin >> s ; if(k == 1) { if(n) puts("0") ; else cout << s[0] << endl ; // 改一行 return 0 ; } for(int i = 0 ; i < s.size() ; i ++) { if(!n) break ; if(s[i] == '0') continue ; if(i == 0 && i != s.size()-1) { if(s[i] == '1') continue ; else s[i] = '1' , n -- ; }else { s[i] = '0' ; n -- ; } } for(int i = 0 ; i < s.size() ; i ++) cout << s[i] << "" ; } 

所以我当时怎么想的啊 = =

溜了溜了,我的祖国万岁!