【HDOJ】1930 And Now, a Remainder from Our Sponsor

时间:2023-03-08 23:13:41
【HDOJ】1930 And Now, a Remainder from Our Sponsor

简单字符串。

 #include <stdio.h>

 #define MAXLEN 160

 char buf[MAXLEN];
int keys[], parts[]; void getpart(int x) {
int i;
for (i=; i>=; --i) {
parts[i] = x%;
x /= ;
}
} int main() {
int case_n, n, max, mm;
int i, j, k, flag, tmp, len; scanf("%d", &case_n);
while (case_n--) {
scanf("%d", &n);
max = ;
for (i=; i<; ++i) {
scanf("%d",&keys[i]);
if (max < keys[i]) {
max = keys[i];
mm = i;
}
}
len = ;
for (i=; i<n; ++i) {
scanf("%d", &tmp);
getpart(tmp);
for (j=;;++j)
if (j%max == parts[mm])
break;
while () {
flag = ;
for (k=; k<; ++k) {
if (k == mm) continue;
if (j%keys[k] != parts[k]) {
flag = ;
break;
}
}
if (flag) break;
j += max;
}
getpart(j);
for (k=; k<; ++k) {
if (parts[k] == )
buf[len++] = ' ';
else
buf[len++] = (char)(parts[k])+'A'-;
}
}
while (buf[--len] == ' ') ;
buf[len+] = '\0';
printf("%s\n", buf);
} return ;
}