![B3868 [GESP202309 三级] 进制判断 题解](http://pic.xiahunao.cn/yaotu/B3868 [GESP202309 三级] 进制判断 题解)
题目描述N 进制数指的是逢 N 进一的计数制。例如人们日常生活中大多使用十进制计数而计算机底层则一般使用二进制。除此之外八进制和十六进制在一些场合也是常用的计数制十六进制中一般使用字母 A 至 F 表示十至十五。现在有 N 个数请你分别判断他们是否可能是二进制、八进制、十进制、十六进制。例如15A6F就只可能是十六进制而1011则是四种进制皆有可能。输入格式输入的第一行为一个十进制表示的整数 N。接下来 N 行每行一个字符串表示需要判断的数。保证所有字符串均由数字和大写字母组成可能以 0 开头。保证不会出现空行。保证 1≤N≤1000保证所有字符串长度不超过 10。输出格式输出 N 行每行 4 个数用空格隔开分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进制数。使用 1 表示可能使用 0 表示不可能。例如对于只可能是十六进制数的15A6F就需要输出0 0 0 1而对于四者皆有可能的1011则需要输出1 1 1 1。输入输出样例输入 #1复制2 15A6F 1011输出 #1复制0 0 0 1 1 1 1 1输入 #2复制4 1234567 12345678 FF GG输出 #2复制0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0AC代码#includebits/stdc.h using namespace std; int main(){ int n; cinn; for(int i0;in;i){ string x; cinx; char m0; for(int j0;jx.size();j){ if(x[j]m){ mx[j]; } } if(m2){ cout1 1 1 1endl; } else if(m8){ cout0 1 1 1endl; } else if(mA){ cout0 0 1 1endl; } else if(mG){ cout0 0 0 1endl; } else{ cout0 0 0 0endl; } } return 0; }