ITS REALLY HARD I WORK SO HARD FOR THIS PROBLEM TO DO ITS REALLY FAST, U HAVE 1MB MEMORY input THIS IS ABOUT 600-700k symbols, U NEED TO DO ITS Very VERY VERY VERYVERY VERy fAST AND THIS VERYV VEryV eVEYR Very HARD U NEED TO READ THIS NEVER NEVER NEVER USE CIN USE c=getchar() where c - char. And IF U WANT TO STOP INPUT JUST int WHILE in the conditions of the while loop, put restrictions on the symbol, that is, there are all charms from A to Z and something else. AND THEN YOU NEED A REALLY FAST ALGORITHM I rewrote mine six times, I can't understand it myself, it's very difficult, I only remember that char is int, and int is a deadline, and diffirintly THE ALGORITHM is SLOW This is an example of how you shouldn't make the problem I've solved this task twice, first under "OZone", then under "OZone2" account. (I've lost their passwords). Now I am using the same solution (as far as I remember) and get WA #6. Could anybody give me an idea what aspect of a problem does the test #6 examine? Or is there is a way to get accounts back without emailing, because both e-mails are dead. Edited by author 01.07.2009 19:09 just write not for(k = 2;k < 36;++k) =>> for(k = 2;k <= 36;++k) Try some tests with more than one space or empty line.. and for WA7 try this: ZZ (answer is 36 1) 01234B56789 AZA is this test have 2 numberic text and there is not numberic text in 11-base (01234ЪB56789 is 12-base and AZA is 36-base) why the answer is 11 4 what is 11 mean what is 4 mean Thank you hi Wan+ , long time no see ^^ btw, it means numbers in text , not numberic text so 11 4 means there are 4 numbers in 11-based number system those are 01234,56789,A,A hi, p'Sam long time no see too. Thanks for your help that you told me it mean you can spilt the numberic text into any part ?? or only 3 part 0,1,2,3,4,5,6,7,8,9 it can be in any base of number that greater than 10 why the answer is 11 12 i'm having a hard time explaining in english ,it's not my language >< yes, number written in x base can also be y>x-based. but it doesn't matter at all because this is not mutually exclusive property. anyway, answering this question won't help. let me explain the problem you just have to count amount of X-based numbers AMONG the text (i.e. just ignore those characters that can't fit in X-based number system , or consider them as delimitors). and pick the system that have maximum amount of numbers let's see the sample case 01234B56789 AZA there are only 1 2-based number , that is 01 (you just can't split them into 0 and 1) 1 for 3-based : 012 1 for 4 : 0123 1 for 5 : 01234 2 for 6 : 01234 and 5 2 for 7 : 01234 and 56 2 for 8 : 01234 and 567 2 for 9 : 01234 and 5678 2 for 10 : 01234 and 56789 4 for 11 : 01234 , 56789 ,A and A but only 3 for 12 : 01234B56789 ,A and A and ofcourse! 2 for 36 : 01234B56789 and AZA another so long explaination . . . > i'm having a hard time explaining in english ,it's not my language >< > > yes, number written in x base can also be y>x-based. but it doesn't > matter at all because this is not mutually exclusive property. anyway, > answering this question won't help. let me explain the problem > > you just have to count amount of X-based numbers AMONG the text (i.e. > just ignore those characters that can't fit in X-based number system , or > consider them as delimitors). and pick the system that have maximum > amount of numbers > > let's see the sample case > 01234B56789 > AZA > there are only 1 2-based number , that is 01 (you just can't split them > into 0 and 1) > 1 for 3-based : 012 > 1 for 4 : 0123 > 1 for 5 : 01234 > 2 for 6 : 01234 and 5 > 2 for 7 : 01234 and 56 > 2 for 8 : 01234 and 567 > 2 for 9 : 01234 and 5678 > 2 for 10 : 01234 and 56789 > 4 for 11 : 01234 , 56789 ,A and A > but only 3 for 12 : 01234B56789 ,A and A > and ofcourse! 2 for 36 : 01234B56789 and AZA > > another so long explaination . . . Thanks for Explaining the Problem for me. Thanks so much for explaining the problem! How can i know what test is running? When i give my program data i imagine, it always gives the correct answer. THANKS! program nn; const hs='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var a:array[0..37]of longint; b:array[0..37]of boolean; K,J,KK,MAX:LONGINT; C:CHAR; PROCEDURE SOLVE; begin J:=POS(C,HS); IF J=0 THEN BEGIN FOR K:=2 TO 36 DO B[K]:=TRUE; EXIT; END; for k:=2 TO 36 DO BEGIN IF J>K THEN B[K]:=TRUE ELSE BEGIN IF B[K] THEN BEGIN INC(A[K]); B[K]:=FALSE; END ELSE B[K]:=FALSE; END; END; end; begin fillchar(a,sizeof(a),0); fillchar(B,SIZEOF(b),TRUE); while not eof do begin read(c); solve; end; MAX:=-1; FOR K:=2 TO 36 DO IF A[K]>MAX THEN BEGIN MAX:=A[K]; KK:=K; END; WRITELN(KK,' ',MAX); end. program nn; const hs='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var a:array[0..37]of longint; b:array[0..37]of boolean; K,J,KK,MAX:LONGINT; C:CHAR; PROCEDURE SOLVE; begin J:=POS(C,HS); IF J=0 THEN BEGIN FOR K:=2 TO 36 DO B[K]:=TRUE; EXIT; END; for k:=2 TO 36 DO BEGIN IF J>K THEN B[K]:=TRUE ELSE BEGIN IF B[K] THEN BEGIN INC(A[K]); B[K]:=FALSE; END ELSE B[K]:=FALSE; END; END; end; begin fillchar(a,sizeof(a),0); fillchar(B,SIZEOF(b),TRUE); while not eof do begin read(c); solve; end; MAX:=-1; FOR K:=2 TO 36 DO IF A[K]>MAX THEN BEGIN MAX:=A[K]; KK:=K; END; WRITELN(KK,' ',MAX); end. how to do this ? i can't get answer it in time the text for 1MB is too big |
|