首先,第一题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] << "" ;
}
所以我当时怎么想的啊 = =