|
|
back to boardShow all messages Hide all messagesI solved this problem on Pascal and was AC. But i wrote same program on C and C++. It gives same answers on same tests on my machine but gives WA on test 1 when i submit. These my programs: On pascal:: var a:array[1..10000] of integer; k,n,m,i:integer; s:longint; procedure cle; var i:integer; begin for i:=1 to n do a[i]:=0; end; begin read(n,m); cle; s:=0; for i:=1 to m do begin readln(k); if k<>0 then inc(a[k]); end; for i:=1 to n do begin if a[i]<>0 then writeln(a[i]/m*100:2:2,'%') else writeln('0.00%'); end; end. On C: #include <stdio.h> void main(){ int k,n,m,i; int a[10000]; scanf("%d %d\n",&n,&m); for (i=1;i<=n;i++) a[i]=0; for (i=1;i<=m;++i){ scanf("%d",&k); if (k!=0) a[k]++; } for (i=1;i<=n;++i){ if (a[i]!=0) printf("%2.2f%\n",(float)a[i]/m*100); else printf("0.00\n"); } } 1) Use "double" instead of "float". 2) Don't use Pascal, 'cause C++ is really cool language. P.S. I don't understand how can people write theese "begin ... end" so many times? LOL ^_^ (+) Dmitry 'Diman_YES' Kovalioff 3 Feb 2006 15:46 I don't understand people who think they are cool enough to speak such foolish things ;) Pascal is not worse than C++, and it is up to one to choose what language to use - as for me I use Pascal and I am in Top 10 :) Safe Bird uses C++ - but he does not scream that C++ is better... P.S. Sorry, can not control myself when Pascal in under attack ;) +++ +FAMAS+ 3 Feb 2006 22:09 RESPECT++++++ PASCAL RULEZZZ!!!! Re: +++ Vladimir Yakovlev (USU) 4 Feb 2006 00:22 Hmm... Pascal is not spported at World Finals now. Best programmers have started using Java. Maybe Timus must do the same - substitute Pascal to Java. Don't you want to double all timelimits for "fast" Java programs to pass them? :))) Re: +++ Adil Aliev INF-11(BSU - app. math.) 4 Feb 2006 03:27 oooh. Yesss. Java is good. I will glad if timus add Java compiler to this contest "Pascal is not spported at World Finals now" - с этого года что ли? Re: +++ Vladimir Yakovlev (USU) 4 Feb 2006 14:42 Pascal provided but not supported read this: http://icpc.baylor.edu/systems/finals/pascal.htm Pascal will not be removed from Timus of course. Java will be added as soon as possible, but not to February, 11. It is possible to recalculate all timelimits for Java. But it is impossible to make all problems solvable in Java. Edited by author 04.02.2006 15:05:) ACM.Tolstobrov_Anatoliy[Ivanovo SPU] 4 Feb 2006 18:58 deleted Edited by author 26.10.2018 14:38 Re: :) ACM.Tolstobrov_Anatoliy[Ivanovo SPU] 4 Feb 2006 19:01 deleted Edited by author 26.10.2018 14:37 Re: +++ Fyodor Menshikov 13 Feb 2009 23:53 Re: +++ Vedernikoff Sergey (HSE: EconomicsForever!) 16 Feb 2009 03:38 And why it is problem to solve it in Java? What we need for solution - just one array int[1000] But I really don't understand why timelimit is so small - memory is not crucial part of this problem at all... Re: +++ Fyodor Menshikov 16 Feb 2009 12:16 memory is not crucial part of this problem at all... Maybe author wanted to cut off DP way of solving this problem or something like this. I did't say that Pascal is bad, nasty, ugly, damned language or something like it. But... U must agree with me that up to now there is no compiler for Pascal that can be compared with MVC++ or g++. Theese make really good machine code. :) And IMHO this language is uncomfortable to write algorithms and serious projects. What for Top 10... over some year Top 10 or even Top 50 can became consisting only of Pascal (or - that's terrible - Java) users. Even BASIC coders could be cool because they ARE cool. You think we prefer language? Often programming language prefers us. Pascal is popular in Russia just because of traditions begun with 80's. P.S. I accept your apology, but "LOL" is offensive, don't you think? ДИМАН VERY GOOD MAN, НАПИСАЛ LOL, НАПИШИ ЕМУ ТАКЖЕ:) I suggest to make a voting. I use pascal about 5 years for solving problems. And as for me, I think that pascal is not so uncomfortable to write algorithms. Edited by author 07.02.2006 21:39 Hi! I'm first time here and seems the last - cause there is no Java support. Are you going to add it soon? Pascal is the worst language I ever seen..... Shut up! Pascal Will Newer Die! Edited by author 18.10.2006 08:05 In C++ very hard syntax, and Pascal is good language too Currently I'm using C++ for solving problems, but can say: Pascal foreva! C++ has many drawbacks which are worse than just long "begin .. end" I solved problems using all languages available on this server and Java seems to be most convenient for me.. #include <iostream> #include <stdio.h> using namespace std; int main() { int br[10024],i,m; double n,a; float sum; cin>>n>>a; sum=100/a; for(i=1;i<=10024;i++) { br[i]=0; } for(i=1;i<=a;i++) { cin>>m; br[m]++; } for(i=1;i<=n;i++) {
printf("%.2lf",(br[i]*sum)); cout<<"%"<<endl; } return 0; } 1) Look how your C++ program will work with n=10000;) 2) You've forgotten about percent sign in else printf("0.00\n"); 3) Don't use % in printf, use %% (it will show as %) 4) LEARN C++ well before writing on it! Edited by author 03.02.2006 17:57 >> 2) You've forgotten about percent sign in else printf("0.00\n"); Is it really necessary? Can anyone translate my solution below into C++? I want to learn programming in C/C++ too :) type TArray=array of dword; var arr:TArray; m,n,c,i:dword; begin readln(n,m); setlength(arr,n+1); for i:=1 to n do arr[i]:=0; for i:=1 to m do begin readln(c); arr[c]+=1; end; for i:=1 to n do begin writeln((arr[i]*100/m):2:2,'%'); end; end. |
|
|