一定要注意特判不可能地比较离谱的例子,WA了几次。2^k-t*6=x。如果T和K太大,我的算法会爆longlong,所以直接取模看因子比较好。@nevermore

Code 327620244
#include<cstdio>
#include<iostream>
#define ll long long
using namespace std;
char str[1000000+100];
int n;
int main()
{
scanf("%d",&n);
while(n--){
ll x=0,flag=-1;
scanf("%s",str);
if(str[0]!='M'){printf("No
");continue;}
for(int i=1;str[i]!=' ';i++)
if(str[i]=='I')x+=1;else{
if(str[i]=='U')x+=3;else
flag=-2;
}
if(flag==-2){printf("No
");continue;}
for(int i=0;i<32;i++){
ll l=(ll)1<<i;
if(l<x) continue;
flag=(l-x)%6;
if(flag==0)break;
}
if(flag) printf("No
");
else printf("Yes
");
}
return 0;
}