Advertisement

上海市计算机学会月赛2021年5月丙组

阅读量:
T1 植树造林
复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
    	int a, b, c;
    	cin >> a >> b >> c;
    	
    	int maxx = max(max(a,b),c);	
    	cout << maxx * 3 - (a + b + c);
    	
    	return 0;
    }
T2 数球数
复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
    	int a, b, c;
    	cin >> a >> b >> c;
    	
    	int t = (a+b+c) / 2;
    	
    	cout << t - b << endl;
    	cout << t - c << endl;
    	cout << t - a << endl;
    	
    	return 0;
    }
T3 驼峰与蛇
复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
    	string s;
    	cin >> s;
    	
    	printf("%c", s[0]+32);
    	for (int i = 1; i < s.size(); i ++) {
    		if (s[i] <= 'Z') printf("_%c", s[i] + 32); 
    		else printf("%c", s[i]);
    	}	
    	
    	return 0;
    }
T4 整除(暴力)
复制代码
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    const int N = 1e5 + 10;
    long long n, a[N], cnt;
    
    int main() {
    	cin >> n;
    	for (int i = 1; i <= n; i ++) cin >> a[i];
    	sort(a+1, a+1+n);
    	
    	for (int i = 1; i <= n; i ++) {
    		if (a[i] == a[i+1]) cnt ++;
    		else {
    			for (int j = 1; j < i; j ++) {
    				if (a[i] % a[j] == 0) {
    					cnt ++;
    					break;
    				}
    			}
    		}		
    	}
    
    	cout << n - cnt;
    	
    	return 0;
    }
T4 整除(满分)
复制代码
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    const int N = 1e5 + 10;
    int n, a[N], h[N], cnt;
    
    int main() {
    	cin >> n;
    	for (int i = 1; i <= n; i ++) cin >> a[i];
    	sort(a+1, a+1+n);
    	
    	for (int i = 1; i <= n; i ++) {
    		if (a[i] == a[i+1]) cnt ++;
    		else {
    			for (int j = 1; j <= a[i]/j; j ++) {
    				if (a[i] % j == 0) {
    					if (h[j] || h[ a[i]/j ]) {
    						cnt ++;
    						break;
    					}
    				}
    			}
    		}		
    		h[a[i]] = 1;
    	}
    
    	cout << n - cnt << endl;		
    	
    	return 0;
    }
T5 城市的中心
复制代码
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    const int N = 1e5 + 10;
    int n, x[N], y[N];
    
    int main() {
    	cin >> n;
    	for (int i = 0; i < n; i ++) {
    		cin >> x[i] >> y[i];
    	}
    	sort(x, x+n);
    	sort(y, y+n);
    
    	int a = x[n/2];
    	int b = y[n/2];
    	
    	int sum = 0;
    	for (int i = 0; i < n; i ++) {
    		sum += abs(x[i]-a) + abs(y[i]-b);
    	}
    	cout << sum;
    	
    	return 0;
    }

全部评论 (0)

还没有任何评论哟~