2 条题解
-
3
小w吃雪糕
这道题就是一个很简单的字符串模拟,我们‘a’表示为0 其实依次 其实不就是说 'a'-‘a’ 对应数字为0嘛 那反过来的话 数字加‘a’ 不就是对应的字母
然后唯一的坑点就是 可能会有人去用long long 或者int 去读 我专门卡了一下 我们看数据是 2的100次方 那么 long long 最大是 2的64次方-1 肯定就炸掉了啊 所以这道题就是让你去用字符串去做的 然后就是很简单的模拟 就没啥好说的了 直接看代码吧
#include <stdio.h> #include<string.h> int main () { char x[310]; scanf("%s", x); int len = strlen(x); int cnt0 = 0,cnt1 = 0; for(int i = 0;i < len; i++){ int d = x[i] - '0'; if(d&1){ cnt1++; }else{ cnt0++; } } for(int i = 0; i < len; i++){ int d = x[i] - '0'; if(cnt0 > cnt1){ if(d&1){ d = (d + 1) % 10; } } else if(cnt0 < cnt1){ if(d%2==0){ d = (d + 1) % 10; } } x[i] = d + 'a'; } printf("%s\n",x); return 0; } -
2
#include <stdio.h> #include<string.h> int main () { char x[310]; scanf("%s", x); int len = strlen(x); int cnt0 = 0,cnt1 = 0; for(int i = 0;i < len; i++){ int d = x[i] - '0'; if(d&1){ cnt1++; }else{ cnt0++; } } for(int i = 0; i < len; i++){ int d = x[i] - '0'; if(cnt0 > cnt1){ if(d&1){ d = (d + 1) % 10; } } else if(cnt0 < cnt1){ if(d%2==0){ d = (d + 1) % 10; } } x[i] = d + 'a'; } printf("%s\n",x); return 0; }
- 1
信息
- ID
- 1183
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 209
- 已通过
- 48
- 上传者