Pagini recente » Cod sursa (job #3127414) | Cod sursa (job #2181879) | Cod sursa (job #2957560) | Cod sursa (job #175869) | Cod sursa (job #168539)
Cod sursa(job #168539)
#include<cstdio>
#include<cstring>
int n,st,dr,t,i;
char a[10001];
char b[10001];
int solve(int st,int dr)
{
while(st+1<dr){
if(b[dr]<0){b[dr]=9;b[dr-1]--;}
if(b[st]>18) return 0;
if(b[st]==b[dr]) st++,dr--;
else
if(b[st]-1==b[dr]){st++;dr--;b[st]+=10;}
else
if(b[st]-10==b[dr]){st++;dr--;b[dr]--;}
else
if(b[st]-11==b[dr]){st++;dr--;b[dr]--;b[st]+=10;}
else
return 0;
}
if(st==dr) return b[st]%2==0;
else{
if(b[dr]<0) b[dr]=9,b[st]--;
if(b[st]==b[dr]) return 1;
else
if(b[st]-11==b[dr]) return 1;
else return 0;}
}
int main()
{
freopen("invers.in","r",stdin);
freopen("invers.out","w",stdout);
scanf("%d ",&t);
for(;t;t--){
gets(a);
n=strlen(a);
for(i=0;i<n;i++){a[i]-='0';b[i]=a[i];}
if(solve(0,n-1)) printf("DA\n");
else
if(a[0]==1){
memcpy(b,a,sizeof(a));
b[1]+=10;
if(solve(1,n-1)) printf("DA\n");
else
printf("NU\n");}
else
printf("NU\n");
}
fclose(stdout);
return 0;
}