只有通过了55% ,求解 #include<iostream> #include<string> #include<vector> #include<stdio.h> #include<string.h> #include<map> #include<algorithm> #include<queue> #include<fstream> using namespace std; int n; string num; int nums[20]; int vis[11]; int BigNumMod(int BigNum[], int c, int length) { int ans = 0; for (int i = 0; i < length; i++) ans = ((ans * 10) + BigNum[i]) % c; return ans; } int main() { scanf("%d", &n); int len, cnt, c; while (n--) { cin >> num; cnt = 0; len = num.length(); memset(vis, -1, sizeof(vis)); vis[0] = 1; for (int i = 0; i < len; i++)nums[i] = num[i] - '0'; for (int i = 0; i < len; i++) { c = num[i] - '0'; if (vis[c] == 1)cnt++; else if (vis[c] == -1 && BigNumMod(nums, c, len) == 0) { vis[c] = 1; cnt++; } else { vis[c] = 0; } } printf("%s", len == cnt ? "G" : cnt == 0 ? "S" : "H"); if (n != 0)printf("\n"); } return 0; }
点赞 评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务