CF1230 致sb的A题和B题

首先,第一题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] << "" ; 
}

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

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

posted @ 2019-09-26 19:46  _L_Y_T  阅读(205)  评论(1编辑  收藏  举报