Common BoardВсем привет. Пишу на с++. И возникла проблема с вводом широты и долготы без перехода на новую строку. Выходит: <X1> ^<X2> '... что не очень красиво. Хотелось бы так <X1>^<X2>'<X3>" <NL/SL> но не знаю как реализовать. Спасибо. scanf("%d^%d'%d\" %cL", &x1, &x2, &x3, &ch); how can i see my submission list? Edited by author 23.03.2018 17:43 Edited by author 23.03.2018 17:43 test 2 1 1 1 1 1 1 ans: Yes import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Iterator; import java.util.Stack; public class problem1654 { public static void main(String[] args) throws IOException { BufferedReader inp = new BufferedReader(new InputStreamReader(System.in)); String str=inp.readLine(); Stack<Character> st=new Stack<Character>(); st.push(str.charAt(0)); String s=""; for(int i=1;i<str.length();i++){ if(!st.empty()&&st.peek()==str.charAt(i)) st.pop(); else{ st.push(str.charAt(i));
} }
while(!st.empty()){ s=s+st.pop(); } int n=s.length(); for(int i=0;i<n;i++){ System.out.print(s.charAt(n-i-1));
} }} When i used stack(from STL) in C++, i'd got TL8. But after i realzed stack by using array, i got AC your reply help me very much!3Q Don't use : while(!st.empty()){ s=s+st.pop(); } -------- Use this phrase at the end of your Code: Iterator<Character> b = st.iterator(); while(b.hasNext()){ System.out.print(b.next()); } Here is my code and here is my output. Everything should work! What's wrong ? What requirements have I not fulfilled? http://lpaste.net/13924843521971322887325189087 5 it your reality real our reality our 4294967296 5 it your reality real our No solution. -1 The code is written in pure C. The compiler is gcc for all-integer comparison you have to use int64_t do not derive the inequality by hand, use Maxima: rot(c,s) := matrix([c,-s],[s,c]); /* D: sqrt(a^2+b^2); */ ma: rot(e/D, sqrt(D^2-e^2)/D); mb: rot(b/D, a/D); dd: (ma.mb.[a,-b])[1][1],ratsimp; load(ineq)$ assume(D>0)$ assume(a>0)$ assume(b>0)$ assume(d>0)$ assume(e>0)$ ne: d >= dd; ne: (ne * D^2)-2*a*b*e,ratsimp; import java.util.Scanner; public class Sum{ public static void main(String args[]){ Scanner sc= new Scanner(System.in); int N, sum=0; System.out.print("Enter the value of N:"); N= sc.nextInt(); if(N<10000){ if(N<0){ for(int x=N; x<=1; x++){ sum+=x; } } else{ for(int x=1; x<=N; x++){ sum+=x; } } } System.out.println(sum); } } System.out.print("Enter the value of N:"); comment this out, automatic checker doesn't know that this text isn't the part of your answer yup did that too and it still says wrong answer Okaaaaay... if(N<10000){ i assume you wanted to check here if input data is correct, but there's no need to do that, input data is correct by default. Not to mention that you do it wrong, you check if N is between (-infinity; 9999], while N should be between [-10000; 10000]. Also i think you don't handle the N=0 case correctly, but hopefully you'll figure out why without more hints. Edited by author 20.03.2018 00:35 Define d[i][j] to be the maximum number of floors that can be checked with i eggs after j steps. To answer the query one should do the binary search to find number of steps X such that d[input_eggs][X] >= input_floors with X being smallest possible. d[i][i] = i, d[2][5] = 15 ,d[2][6] = 21 ( 1 -> 6 -> 11 -> 15 -> 18 -> 20 -> 21 ) d[i][j] = d[i - 1][j] + d[i - 1][j - 1] + 1; Explanation of the formula: Suppose we know d[i][j - 1] and d[i - 1][j - 1] Throw an egg from (d[i - 1][j - 1] + 1) floor. Did it break? If yes, we can definitely check all floors from the first to d[i - 1][j - 1]th with remaining i - 1 eggs within remaining j - 1 steps. If it didn't then you just check how many floors you can check at most with i eggs within j - 1 steps starting from ((d[i - 1][j - 1] + 1) + 1) th floor d[i][j] can be calculated in N^2 Query is answered in log(N) time My Java 1.8 solution runs in 0.062s. Edited by author 19.03.2018 20:45 while (n>0) { b=a; b=b/pow(10,n-1) - rezult/pow(10,n-1); for (int i=1;i<10;i++) if ((b-i>=0)&(b-i-1<0)) rezult += (i)*pow(10,n-1); n--; } /* if delete : b=b/pow(10,n-1) - rezult/pow(10,n-1); for (int i=1;i<10;i++) if ((b-i>=0)&(b-i-1<0)) rezult += (i)*pow(10,n-1); - work! */ 1. Which programming language do you use? 2. Did you name the variable for result "rezult" (if there is need to pre-declare variables in yout PL)? Can anybody give some test to judge my prog? I have WA on 5 test and cann't find my mistake. Ohhh! So stupid mistake)) Ohhh! So stupid mistake)) what? I also have WA5(( What is your algo? I use dfs and add edge between two pieces. I should use int64....... Edited by author 05.04.2009 07:22 When do you add edge between two pieces? This is a "boundary values" test. Consider a case when you have initially a full graph of ones - you have ~100^2 = 10^4 flights, and d=10^6. How much have you pay then to optimize the flights scheme? FT~~~~ I didn't know that long long is not supported. OH!!!!FT.. Realy, It's the problem ~ I didn't know that long long is not supported ,either ~ maybe the judge should update its compiler? Oh,I See.So we can only use "%I64d" to input/output?for I got WA while using "%lld" but AC with "%I64d" I know abbreviations AC, WA, TLE, DFS, BFS, DP... But what does FT stand for??? test for wrong #14: input a h output v c Hm. Let's try to encrypt this output: v -> 21 + 5 = 26 mod 26 = 0 -> a; c -> 2 + 26 = 28 mod 26 = 2 -> c; So, the correct input must be "ac". P.S. "ah" decodes to "vh". Edited by author 18.03.2018 02:50 first test is not sample. Edited by author 26.10.2010 19:06 The test has only one point. and it is far away from 0 Mine is 0.156s. I use searching and some calculation. I think maybe you got an slow algrithm with only searching. I got AC in 0.14 sec and didn't use any kind of special things. Just stupid counting Hmin and Hmax for each point of the matrix now it is 0.031 s sorting stations by radius does not change anything I have wrong answer on test 2, but all tests that I checked have right answer. Please, give me some tests to check my code. Edited by author 16.03.2018 14:36 Get me test, please! I use kmp. Check (AB,CD)==0 (orthogonality). Check (AB, CD, DA) ==0 (planarity). Check AD>AC>AB, AC>BC, BD>BC (order). Check whether the projections to XY, YZ, XZ craddle each other continuations. It is sufficient to check only the projections to XY plane to get Accepted verdict. Sounds too complex. If we replace C, D with their orthogonal projection on AB, then all steps except first collapse to only one step (check D = C*a, a > 1). Still too complex, though. Over 20 lines in Python. There should be more simple solution... Edited by author 26.12.2017 04:30 No lengths or projections XY, etc. Using scalar product (sp) and triple product (tp) it is at most five conditions: sp(ab,cd) == 0 and tp(ab,bc,cd) == 0 and # ⟂ and planar sp(ab,bc) >= 0 and # C after B sp(cd,bc) >= 0 and # BC goes in direction of CD sp(cd,bd) >= sp(cd,bc) # D after C I always get ML, and i cant understand what sould i do? I tried to use Scanner and BufferedReader. Please tell me method to solve this. I dont understood too. It is unbelievable! |
|