Quantcast
Channel: CodeChef Discuss - latest questions
Viewing all articles
Browse latest Browse all 39796

PALIN: provide me some corner cases where my program is falling..

$
0
0

#include< stdio.h > #include< string.h > int comp(char a[],char s[],int l) { int i; for(i=l/2 ; i < l ; i++) if(a[i] < s[i]) return 0; else if(a[i] > s[i]) return 1; } int compcheck(char a[],char s[],int l) { int i; for(i=0 ;i < l ; i++) if(a[i] < s[i]) return 0; else if(a[i] > s[i]) return 1; } int ninecheck(char a[],int l) { int i,nine=0; for(i=0 ;i < l ; i++) if(a[i]=='9') ++nine; if(nine==l) return 1; else return 0; } void mequal(char a[],char s[],int l) { int i,j,k,f; if(l%2==0) { i=(l)/2-1; j=(l-1)/2+1; f=comp(a,s,l); while(!f) { if(a[i]=='9' && a[j]=='9') { a[i--]='0'; a[j++]='0'; ++a[i]; ++a[j]; --i; ++j; f=compcheck(a,s,l); } else if(!(a[i]=='9' && a[j]=='9')) { a[i]=a[i]+1; a[j]=a[j]+1; f=1; } else f=1; } } else { k=(l-1)/2; { if(a[k]!='9') a[k]+=1; else { a[k]='0'; i=l/2-1; j=(l-1)/2+1; f=comp(a,s,l); while(!f) { if(a[i]=='9' && a[j]=='9') { a[i--]='0'; a[j++]='0'; ++a[i]; ++a[j]; --i; ++j; f=compcheck(a,s,l); } else if(!(a[i]=='9' && a[j]=='9')) { a[i]=a[i]+1; a[j]=a[j]+1; f=1; } else f=1; }
} } }

} int main() { long long int t,l,i,k; scanf("%lld ",&t); while(t--) { char s[1000010],a[1000010]; gets(s); k=0; long long int f1=1; l=strlen(s); i=0; while(f1) { if(s[k]!='0') { f1=0; break; } else { ++k; } } for(i=0;i < l-k;i++) { s[i]=s[i+k]; } s[l-k]='\0'; long long int f,nine; l=strlen(s); if(k==l) { s[0]='0'; s[1]='\0'; } strcpy(a,s); for(i=0;i < l/2;i++) a[l-1-i]=a[i]; f=comp(a,s,l); nine=ninecheck(a,l); if(f==1) puts(a); else if(nine==1) { a[0]=a[l]='1'; for(i=1;i < l;i++) a[i]='0'; a[l+1]='\0'; puts(a); } else if(f==0) { mequal(a,s,l);
puts(a); } } return 0; }


Viewing all articles
Browse latest Browse all 39796

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>