PAT b1046-b1049题解

来源:互联网 发布:如何评价地狱边境 知乎 编辑:程序博客网 时间:2024/05/22 06:30

1、b1046

#include <cstdio>int main(){int ha = 0, hb = 0;int n;scanf("%d", &n);while(n--){int a1, a2, b1, b2;scanf("%d%d%d%d", &a1, &a2, &b1, &b2);if(a1 + b1 == a2 && a1 + b1 != b2){hb++;}else if(a1 + b1 == b2 && a1 + b1 != a2){ha++;}}printf("%d %d", ha, hb);}

2、b1047

#include <cstdio>const int maxn = 1010;int hashTable[maxn] = {0};int main(){int n;scanf("%d", &n);for(int i = 0; i < n; i++){int team, member, score;scanf("%d-%d %d", &team, &member, &score);hashTable[team] += score;}int k, max = -1;for(int i = 0; i < maxn; i++){if(hashTable[i] > max){k = i;max = hashTable[i];}}printf("%d %d\n", k, max);return 0;}

3、b1048

#include <cstdio>#include <cstring>const int maxn = 110;char A[maxn], B[maxn], ans[maxn] = {0};void reverse(char s[]){int len = strlen(s);for(int i = 0; i < len / 2; i++){int temp = s[i];s[i] = s[len - 1 - i];s[len - 1 - i] = temp;}}int main(){scanf("%s %s", A, B);reverse(A);reverse(B);int lenA = strlen(A);int lenB = strlen(B);int len = lenA > lenB ? lenA : lenB;for(int i = 0; i < len; i++){int numA = i < lenA ? A[i] - '0' : 0;int numB = i < lenB ? B[i] - '0' : 0;if(i % 2 == 0){int temp = (numB + numA) % 13;if(temp == 10){ans[i] = 'J';}else if(temp == 11){ans[i] = 'Q';}else if(temp == 12){ans[i] = 'K';}else{ans[i] = temp + '0';}}else{int temp = numB - numA;if(temp < 0){temp += 10;}ans[i] = temp + '0';}}reverse(ans);puts(ans);return 0;}

4、b1049

#include <cstdio>int main(){int n;double v, ans = 0;scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%lf", &v);ans += v * i * (n + 1 -i);}printf("%.2f\n", ans);return 0;}



原创粉丝点击