1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #include<stdio.h> int main() { char a[501]; int b[500]; int z[11]={1,1,2,6,24,120,720,5040,40320,362800,3628000}; int prime[95]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71, 73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173, 179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281, 283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409, 419,421,431,433,439,443,449,457,461,463,467,479,487,491,499}; int t,no,i,c,j,priou,k; long int count1,count2,count3; scanf("%d",&t); getchar(); count3=(pow(10,9)+7); while(t!=0) { no=0; i=0; while((c=getchar())!='\n') { a[i]=c; b[i]=1; i++; } no=i; a[i]='\n'; for(i=0;i<no;i++) { for(j=i+1;(a[i]>48 && j<no);j++) { if(a[i]==a[j]) { b[i]++; a[j]=4; } } } count1=count2=1; i=0; while(1) { priou=0; if(no>=prime[i]) { k=no; if(k!=0) { j=k/prime[i]; priou=priou+j; k=j; } count1=pow(prime[i],priou); count1=count2*count1; count2=count1%count3; i++; } else if(no<prime[i]) break; } for(j=0;j<no;j++) { if(b[j]>1) { count1=count2/z[b[j]]; count2=count1; } } printf("%ld\n",count2); t--; } system("pause"); return 0; } |
I2luY2x1ZGU8c3RkaW8uaD4KaW50IG1haW4oKQp7CiAgICBjaGFyIGFbNTAxXTsKICAgIGludCBiWzUwMF07CiAgICBpbnQgelsxMV09ezEsMSwyLDYsMjQsMTIwLDcyMCw1MDQwLDQwMzIwLDM2MjgwMCwzNjI4MDAwfTsKICAgIGludCBwcmltZVs5NV09ezIsMyw1LDcsMTEsMTMsMTcsMTksMjMsMjksMzEsMzcsNDEsNDMsNDcsNTMsNTksNjEsNjcsNzEsCgk3Myw3OSw4Myw4OSw5NywxMDEsMTAzLDEwNywxMDksMTEzLDEyNywxMzEsMTM3LDEzOSwxNDksMTUxLDE1NywxNjMsMTY3LDE3MywKCTE3OSwxODEsMTkxLDE5MywxOTcsMTk5LDIxMSwyMjMsMjI3LDIyOSwyMzMsMjM5LDI0MSwyNTEsMjU3LDI2MywyNjksMjcxLDI3NywyODEsCgkyODMsMjkzLDMwNywzMTEsMzEzLDMxNywzMzEsMzM3LDM0NywzNDksMzUzLDM1OSwzNjcsMzczLDM3OSwzODMsMzg5LDM5Nyw0MDEsNDA5LAoJNDE5LDQyMSw0MzEsNDMzLDQzOSw0NDMsNDQ5LDQ1Nyw0NjEsNDYzLDQ2Nyw0NzksNDg3LDQ5MSw0OTl9OwogICAgaW50IHQsbm8saSxjLGoscHJpb3UsazsKICAgIGxvbmcgaW50IGNvdW50MSxjb3VudDIsY291bnQzOwogICAgc2NhbmYoIiVkIiwmdCk7CiAgICBnZXRjaGFyKCk7CiAgICAgY291bnQzPShwb3coMTAsOSkrNyk7CiAgICB3aGlsZSh0IT0wKQogICAgewogICAgICAgICAgIG5vPTA7CiAgICAgICAgICAgaT0wOwogICAgICAgICAgIHdoaWxlKChjPWdldGNoYXIoKSkhPSdcbicpCiAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtpXT1jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiW2ldPTE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubz1pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtpXT0nXG4nOwogICAgIAogICAgICAgZm9yKGk9MDtpPG5vO2krKykKICAgICAgICAgIHsgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihqPWkrMTsoYVtpXT40OCAmJiBqPG5vKTtqKyspCiAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihhW2ldPT1hW2pdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJbaV0rKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFbal09NDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICB9ICAgICAgICAgCiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50MT1jb3VudDI9MTsgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk9MDsKICAgIHdoaWxlKDEpCiAgICB7CiAgICAgICAgICAgIHByaW91PTA7CiAgICAgICAgICAgIGlmKG5vPj1wcmltZVtpXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICBrPW5vOwogICAgICAgICAgICBpZihrIT0wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGo9ay9wcmltZVtpXTsKICAgICAgICAgICAgICAgcHJpb3U9cHJpb3UrajsKICAgICAgICAgICAgICAgaz1qOwogICAgICAgICAgICAgICB9ICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgY291bnQxPXBvdyhwcmltZVtpXSxwcmlvdSk7CiAgICAgICAgICAgICAgIGNvdW50MT1jb3VudDIqY291bnQxOyAKICAgICAgICAgICAgY291bnQyPWNvdW50MSVjb3VudDM7CiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICBlbHNlIGlmKG5vPHByaW1lW2ldKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICB9CiAgICAgICBmb3Ioaj0wO2o8bm87aisrKQogICAgICAgewogICAgICAgICAgICAgICAgICAgICAgIGlmKGJbal0+MSkKICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgY291bnQxPWNvdW50Mi96W2Jbal1dOyAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgY291bnQyPWNvdW50MTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWxkXG4iLGNvdW50Mik7CiAgICAgICAgICAgICAgICAgICAgICAgdC0tOyAKfQpzeXN0ZW0oInBhdXNlIik7CnJldHVybiAwOwp9Cg==
-
upload with new input
-
result: Success time: 0.01s memory: 5312 kB returned value: 0
4 aaAA bcds nbbv aswerqff
3 12 6 2520
sh: pause: command not found
-
result: Runtime error time: 0.01s memory: 1720 kB signal: 11 (SIGSEGV)



