Common BoardCan anyone please provide test case #11? I am getting WA on that. try this one: wwww wwww bwwb bbbb answer: 2 Could I get the data of the test 3 something like this 1000 1000 0 i've been thinking at this problem for 2 weeks. can somebody give me a hint ? My code is : #include<iostream> #include<stdio.h> #include<algorithm> using namespace std; struct slot{ int start; int stop; }; bool order1(const slot &lhs,const slot & rhs) { return lhs.stop<rhs.stop; } bool order2(const slot &lhs,const slot & rhs) { return lhs.start<rhs.start; } int main() { int timemax,timemin; long n,i,j,temp,dp[30002],max; slot a[100001]; dp[0]=0; scanf("%ld",&n); for(i=0;i<n;i++) scanf("%d%d",&a[i].start,&a[i].stop); sort(a,a+n,order2); timemin=a[0].start; stable_sort(a,a+n,order1); timemax=a[n-1].stop; for(i=0;i<=timemin;i++) dp[i]=0; for(i=timemin+1;i<=timemax;i++) { max=dp[i-1]; while(a[j].stop<i && j<n) j++; while(a[j].stop==i) { if(a[j].start-1>=0) temp=1+dp[a[j].start-1]; else temp=1; if(temp>max) max=temp; j++; if(j==n) break; } dp[i]=max; }
printf("%ld\n",dp[timemax]); } I dont know why I am getting wrong answer on test case 1 and runtime error on Ideone.com Условия: > найти для экскурсии кратчайший маршрут, начинающийся и заканчивающийся в одном и том же месте. > Ваша программа должна найти маршрут наименьшей длины > и M двусторонних дорог, В ТЗ не сказано что нужно обойти максимум перекрестков, не сказано что нельзя ехать назад. А значит путь: 1 -> 4 -> 1 подходит. В условии сказано "Все числа x1, …, xk должны быть различны.". я пол дня пытаюсь сдать задачу. в НЕТБИНС работают все примеры у вас постоянно РАНТАЙМ ЕРОР. начинаю сомневаться в корректности вашей проверки. и второе - задача некорректна. пишите что маршрут должен начинаться и кончаться в одном месте а в след. абзаце пишите что все Хк должны быть различны. вы уж определитесь. А вы не пробовали прочитать: 1) условие 2) формат вывода 3) пример ??? Из первого ясно, что маршрут должен состоять как минимум из трех РАЗЛИЧНЫХ вершин, последние два поясняют. > В условии сказано "Все числа x1, …, xk должны быть различны.". Ну дак в "1 4" нет повторения перекрестков. Про повторение дорог ничего не сказано. There is state that k > 2. In your example k == 2. hi what is the total number of test cases for each problem ? Can someone provide more tests? I am using scanner.nextLine() to read line.charAt(pos) == '?' to compare in java and also Josephus allgorithm: jos[1] = 1; for (int i = 2; i < max_n; i++) { jos[i] = (jos[i - 1] + 1998) % i + 1; } My code is so small that I don't even know where is the bug Ok, the thing is I misunderstood the problem. You read ALL the input ignoring new lines, and then do the 'process'. I was reading line by line and doing 'process' for each line. Hope it will help the others. I'm wondering if anyone knows the 13th test... i think it's some kind of special case. 3 1 1 2 NO 3 1 2 3 Yes 2 1 2 NO These are 3 test i suppose cause, it doesn't specificate that we have multiple test cases in one input. Am I right? No, you are not right. There is just one test case in every input, multiple tests were written just for you. Test: 7 1 1 1 1 1 1 2 YES Test: 4 1 1 2 2 Ans: Yes Edited by author 11.11.2013 15:19 4 1 1 2 2 Yes cause: 1122 1212 1221 2121 2211 2112 Edited by author 16.12.2013 23:57 i thinks these tests are not suitable for 13th s. 'casue i passed these ,but get 13th wrong. Two-Eight-Nine.Thanks...!!! #include <stdio.h> #include <math.h> int main(){ double num1,num2,num3,num4; scanf("%lf %lf %lf %lf",&num1,&num2,&num3,&num4); printf("%.4lf\n%.4lf\n%.4lf\n%.4lf",sqrt(num4),sqrt(num3),sqrt(num2),sqrt(num1)); return 0; } why is it wrong? I think it's not necessarily exactly 4 numbers. Judging from my result, I think there are many numbers in the test case. So you need a list or something to store the integers first then print the sqrt in reversed order. (also, the integer is very big, so int type might not work) check the cases when you shoot hail over fence's westmost edge. input: 6 10 2 2 2 0 10 1 output: NO 9 9 0 9 9 0 5 4 4 5 0 9 9 0 -5 4 -4 5 9 0 Here is my program var n,k,i,time:longint; begin readln(n,k); if k=1 then writeln(n-1) else begin i:=0;time:=0;n:=n-1; while n>0 do begin if i<k then i:=i+1; n:=n-i;time:=time+1; end; writeln(time); end; end. > Here is my program > var > n,k,i,time:longint; > > begin > readln(n,k); > if k=1 then writeln(n-1) > else > begin > i:=0;time:=0;n:=n-1; > while n>0 do > begin >(***) if i<k then i:=i+1; > n:=n-i;time:=time+1; > end; > writeln(time); > end; > end. Have a look at the iteraton..as I understand i is the number of used cables... But on each iteration you should not add only one cable (***) but as much as possible, I mean if you have used i cables by now, next time you could use 2*i cables, if you have so much, NOT i:=i+1! Sample input: 12 6 Sample output: 4 1 sec. 1-2 2 sec. 1-3, 2-4 3 sec. 1-5,2-6,3-7,4-8 4 sec. 1-9,2-10,3-11,4-12 Bye! and Have a luck :) only 4 cases Edited by author 05.12.2014 19:38 Edited by author 05.12.2014 19:39 found my mistake. sorry for this post. Edited by author 05.12.2014 22:16 Edited by author 05.12.2014 22:16 You will not solve this problem ((( Edited by author 05.12.2014 13:37 Edited by author 05.12.2014 13:37 if 2 - try 2 4 0 3 2 if 10-11 - just not use sort. especially bubble one))) I have 2 and this test works correct Edited by author 05.12.2014 13:00 |
|