只有通过了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; }
点赞 评论

相关推荐

重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 18:19
个个985的硕士闭着眼睛都有15k以上的月薪,天天嚷嚷着研究生白度读了,天天嚷嚷着反向读研了........
MMMJC:不读研22本科出去的基本都拿28k呢,你不能用25的研究生和25的本科生比然后说没反向读研,而是25研和22本比呀
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务