Common Board#include <bits/stdc++.h> using namespace std; int main() { string letter="abcdefghijklmnopqrstuvwxyz"; int k=letter.size(); int i1,i2,i3; string part,bigpart; for(i1=0;i1<k;i1++) { for(i2=0;i2<k;i2++) { for (i3=0;i3<k;i3++) { part=""; part.pb(letter[i1]); if(part[0]!=letter[i2]) part.pb(letter[i2]); else continue; if(part[0]!=letter[i3]&&part[1]!=letter[i3]) part.pb(letter[i3]); else continue; bigpart.pb(letter[i1]);bigpart.pb(letter[i2]);bigpart.pb(letter[i3]); } } } string ans=""; //cout<<bigpart.size()/3; while(ans.size()<1000000) { ans=ans+bigpart; } /*for (int i=0;i<1000000;i++) { cout<<ans[i]; }*/ int res=0; for (int i=0;i<1000000;i++) { if (ans.substr(i,1)=="a") res++; } cout<<res; return 0; } Maybe 1 test is a sort of tricky? Edited by author 06.04.2017 01:18 #include<stdio.h> #include<math.h> int main() { int N; scanf("%d",&N); int i,ck = 0; for(i = 2; i <= abs(N); i++) ck += i; if(N < 0) printf("-%d\n",ck); else printf("%d\n",ck); return 0; } Hello, Should we multiply by k or n%k if (n - i*k) equals k or n%k ? Which sample is correct? Sample 1 8!! = 8 *(8-2)*(8-4)*(8-6)*2 Sample 2 8!! = 8 *(8-2)*(8-4)*(8-6) any idea what could be my mistake? i'm using i=n; i< 2n; i++ h2=((mod + h2 - dn * a[i-n] % mod) * d % mod + a[i]) % mod; where d=256, dn=d^(n-1) mod=10^9+9 i had WA8 with hashes, i had maxn = 250100, but it must be doubled for algo and it passed with 500100 Boyer-Moor algorithm gets TL6 - it works slower than naive substrings search! AC with KMP 2 10 15 16 -> Unrecoverable error. (not "Error in record #1. Correct number is: 1.") #include<iostream> #include<cmath> #include<string> #include<vector> #include<algorithm> #include<bits/stdc++.h> #define ff first #define ss second #define maxn 10000009 #define pb(a) push_back(a) #define mk(a,b) make_pair(a,b) using namespace std; typedef long long ll; typedef float fl; typedef vector <int> vint; typedef vector <vint> vvint; typedef pair<int,int> pii; typedef vector<pii> pvint; typedef vector<bool> bvint; const int inf=1e9+7; int n; int e[30002], dp[30002]; int main(){ scanf("%d",&n);int ts,te; for(int i=1;i<=n;i++) scanf("%d %d",&ts, &te), e[te]=max(e[te], ts); for(int i=1;i<=30000;i++)if(e[i]==0) dp[i]=dp[i-1];else dp[i]=max(dp[i],dp[e[i]-1]+1); cout << dp[30000]; return 0; } Edited by author 05.04.2017 17:56 if a route is defined by the stops: 1, 2, 4. Can they go from 4 to 2 then to 1 or is it one-way route? #include <iostream> using namespace std; int main(){ unsigned int a, b; cin >> a >> b; cout << a+b; return 0; } #include <stdio.h> int main(){ int a, b; scanf("%d %d", &a, &b); printf("%d", a + b); return 0; } import java.util.Scanner; public class Zadachi { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int x = 2; if(n<=k){ System.out.print(x); }else{
if (n*2 % k == 0){ System.out.print(n*2/k); }else{ System.out.print(n*2/k+1); } }
} } #include <iostream> #include <math.h> using namespace std; int main() { char N[51]; cin >> N; int i; for (i = 0; N[i] != '\0'; i++); char Y[4]; int counter = 0, a = 0; if (i % 3 == 0) { for (int j = 0; j < i; j += 3) { Y[0] = N[j]; Y[1] = N[j + 1]; Y[2] = N[j + 2]; Y[3] = 0; if (counter % 2 == 0) { int temp = atoi(Y); a += temp; } if (counter % 2 == 1) { int temp = atoi(Y); a -= temp; } counter++; } } if (i % 3 != 0) { int start = i % 3; for (int maloe = 0; maloe < start; maloe++) { Y[maloe] = N[maloe]; } Y[start] = '\0'; int temporary = atoi(Y); a -= temporary; int counter = 0; for (int j = start; j < i; j += 3) { Y[0] = N[j]; Y[1] = N[j + 1]; Y[2] = N[j + 2]; Y[3] = 0; if (counter % 2 == 0) { int temp = atoi(Y); a += temp; } if (counter % 2 == 1) { int temp = atoi(Y); a -= temp; } counter++; } } cout << abs(a%7); system("pause"); return 0; } Я делаю ввод в строку, тогда считываю по 3 элемента и делаю их один числом (например, 123456 в числа 123 и 456), тогда по признаку деления на 7 узнаю остаток. Если число, например 12435 то я делю его на 12 и 435 и по работаю по тому же принципу. На моих проверках всё работает хорошо, а система выдаёт WA на 3 тесте. Could you please open task-related themes in task discussions rather than common? Could you please publish link to mathematical background of your solution? Btw, Test your solution on numbers 222223 and 223222. Could you please read task discussions and find simple division digit-by-digit in the every second topic? Edited by author 26.03.2017 23:20 Сударь, вы очень-очень мудрёно решаете. Код этой задачи - в несколько строк. 1 1 366 -565864 609690 15155 516588 775970 765044 814205 -251004 532061 magion will stop in the middle of second args...please check it sorry ,it's my mistake,answer should be 8587308.19597172360000000000 #include <iostream> using namespace std; int main(){ int n, i = 0; cin >> n; while (n != 1){ if (n <= 1){ i+= n; n++; } else if (n >= 1){ i+= n; n--; } } cout << i+1; return 0; } #include <stdio.h> int main() { int n, i = 0; scanf("%d", &n); while (n != 1){ if (n <= 1){ i+= n; n++; } else if (n >= 1){ i+= n; n--; } } printf("%d", i+1); return 0; } Can someone please tell how the test looks like? Don't forget about saving MIN PRICE of device Edited by author 31.03.2017 17:39 When i write my program like: #include<cstdio> long long int i,k; int main(){ scanf("%lld",&k); i=k / 3; while(k % i!=0){ i=k /(k / i +1); } i got AC,but when i change it to: #include<cstdio> int main(){ long long int i,k; scanf("%lld",&k); i=k / 3; while(k % i!=0){ i=k /(k / i +1); } printf("%lld",(k / i-1)); } printf("%lld",(k / i-1)); } i got WA5...does anyoe know how is that possible? wtf i=k / 3; ?? If k%(l+1)==0 then 2nd have a chance to win. And 1st wins if k%(l+1)!=0 try it: for (l=3;k%l!=0;l++);; Edited by author 31.03.2017 14:34 Check your program for very big K. It helped me. Edited by author 31.03.2017 14:38 |
|