# C++題解 scist題單 其實知道怎麼解,只是題目看不懂QQ ## Kattis ### Kattis Hello world! 題目連結: https://open.kattis.com/problems/hello ```cpp= #include <iostream> using namespace std ; int main() { cout << "Hello World!\n" ; return 0 ; } ``` ### Kattis Two-sum 題目連結: https://open.kattis.com/problems/twosum ```cpp= #include<iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; cout << a+b << "\n" ; return 0 ; } ``` ### Kattis Jack-O'-Lantern Juxtaposition 題目連結: https://open.kattis.com/problems/jackolanternjuxtaposition ```cpp= #include<iostream> using namespace std; int main() { int a , b , c ; cin >> a >> b >> c ; cout << a*b*c << "\n" ; return 0 ; } ``` ### Kattis Flatbökuveisla 題目連結: https://open.kattis.com/problems/flatbokuveisla ```cpp= #include<iostream> using namespace std; int main() { int n , m ; cin >> n >> m ; cout << n%m << "\n" ; return 0 ; } ``` ### Kattis Saving For Retirement 題目連結: https://open.kattis.com/problems/savingforretirement ```cpp= #include<iostream> using namespace std; int main() { int a , a1 , a2 , b , b2 ; cin >> a >> a1 >> a2 >> b >> b2 ; int c=(a1-a)*a2 ; cout << c/b2+b+1 ; return 0 ; } ``` ### Kattis Soylent 題目連結: https://open.kattis.com/problems/soylent ```cpp= #include <iostream> using namespace std; int main() { int a , n ; cin >> a ; for( int i=0 ; i<a ; i++ ) { cin >> n ; n=(n+400-1)/400; cout << n << "\n" ; } return 0 ; } ``` ### Kattis Longest Prime Sum 題目連結: https://open.kattis.com/problems/longestprimesum?tab=submissions ```cpp= #include <iostream> using namespace std; int main() { long long a ; cin >> a ; if(a%2>0) { a-=3 ; cout << a/2LL+1 << "\n" ; } else { cout << a/2LL << "\n"; } return 0; } ``` ### Kattis Crne 題目連結: https://open.kattis.com/problems/crne?tab=submissions ```cpp= #include <iostream> using namespace std; int main() { int a; cin >> a; if(a%2==0) { cout << (a/2LL+1)*(a/2+1) << "\n"; } else { cout << (a/2LL+1)*(a/2+2) <<"\n"; } return 0; } ``` ㄚㄚㄚ它題目真優秀"strictly more than..."害我想久QQ ### Kattis Arm Coordination 題目連結: https://open.kattis.com/problems/armcoordination ```cpp= #include <iostream> using namespace std; int main() { int x , y , r ; cin >> x >> y >> r ; cout << x+r << " " << y+r << "\n" ; cout << x+r << " " << y-r << "\n" ; cout << x-r << " " << y-r << "\n" ; cout << x-r << " " << y+r << "\n" ; return 0 ; } ``` ### Kattis Stuck In A Time Loop 題目連結: https://open.kattis.com/problems/timeloop ```cpp= #include <iostream> using namespace std; int main() { int n; cin>>n; for(int i=0;i<n;i++) { cout << i+1 << " Abracadabra\n"; } return 0; } ``` ### Kattis Shandy 題目連結: https://open.kattis.com/problems/shandy ```cpp= #include <iostream> using namespace std; int main() { int m , n ; cin >> m >> n ; if(m>n && n>0) { cout << n*2 ; } else if(n>m && m>0) { cout << m*2 ; } else if(n=m && n>0 && m>0) { cout << m*2 ; } else { cout << "0\n" ; } return 0 ; } ``` ## TOJ ### TOJ 94 題目連結: https://toj.tfcis.org/oj/pro/94/ ```cpp= #include<iostream> using namespace std; int main() { int a ; cin >> a ; if(a==3 || a==4 || a==5) { cout << "Spring!\n" ; } else if(a==6 || a==7 || a==8) { cout << "Summer!\n" ; } else if(a==9 || a==10 || a==11) { cout << "Autumn!\n" ; } else { cout << "Winter!\n" ; } return 0; } ``` ### TOJ 98 題目連結: https://toj.tfcis.org/oj/pro/98/ ```cpp= #include<iostream> using namespace std; int main() { long long LS ; long long LM ; long long LH ; long long LD ; long long LW ; long long LY ; long long L=299792458 ; LS=L; LM=L*60; LH=L*60*60; LD=L*60*60*24; LW=L*60*60*24*7; LY=L*60*60*24*365; cout << "1 Light-second(LS) is " << LS << " metres.\n" ; cout << "1 Light-minute(LM) is " << LM << " metres.\n" ; cout << "1 Light-hour(LH) is " << LH << " metres.\n" ; cout << "1 Light-day(LD) is " << LD << " metres.\n" ; cout << "1 Light-week(LW) is " << LW << " metres.\n" ; cout << "1 Light-year(LY) is " << LY << " metres.\n" ; return 0 ; } ``` ### TOJ 104 題目連結: https://toj.tfcis.org/oj/pro/104/ ```cpp= #include<iostream> using namespace std; int main() { int n ; cin >> n ; for(int i=0 ; i<n ; i++) { for(int j=0 ; j<n-1-i ; j++) { cout<<" " ; } for(int j=0 ; j<2*(i+1)-1 ; j++) { cout<<"*" ; } cout << "\n" ; } return 0; } ``` ```cpp #include<iostream> using namespace std; int main() { int n , space , star; cin >> n ; for (space=n-1, star=1; space>=0; --space, star+=2) { for (int i=0; i<space; i++) { cout << " "; } for (int i=0; i<star; i++) { cout << "*"; } cout << "\n"; } return 0 ; } ``` ### TOJ 519 題目連結: https://toj.tfcis.org/oj/pro/519/ ```cpp= #include<iostream> using namespace std ; int main() { int a , b ; cin >> a >> b ; cout << "Do you want to say " << a << " and " << b << " ??\n" ; return 0 ; } ``` ### TOJ 520 題目連結: https://toj.tfcis.org/oj/pro/520/ ```cpp= #include<iostream> using namespace std ; int main() { int a , b ; cin >> a >> b ; cout << b << " " << a << "\n" ; return 0 ; } ``` ### TOJ 521 題目連結: https://toj.tfcis.org/oj/pro/521/ ```cpp= #include<iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; cout << a-b << "\n" ; return 0 ; } ``` ### TOJ 522 題目連結: https://toj.tfcis.org/oj/pro/522/ ```cpp= #include<iostream> using namespace std; int main() { int x ; cin >> x ; x*=x ; cout << x%10 << "\n" ; return 0 ; } ``` ### TOJ 523 題目連結: https://toj.tfcis.org/oj/pro/523/ ```cpp= #include<iostream> using namespace std; int main() { int n ; cin >> n ; n/=10 ; cout << n%10 << "\n" ; return 0 ; } ``` ### TOJ 524 題目連結: https://toj.tfcis.org/oj/pro/524/ ```cpp= #include<iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; a=(a+b)/2; b=b-a; cout << "a: "<< a << ", b: " << -b ; return 0 ; } ``` ### TOJ 525 題目連結: https://toj.tfcis.org/oj/pro/525/ ```cpp= #include <iostream> using namespace std; int main() { int a ,b ; cin >> a >> b ; cout << (a+b)/2 << "\n" ; return 0 ; } ``` ### TOJ 526 題目連結: https://toj.tfcis.org/oj/pro/526/ ```cpp= #include <iostream> using namespace std; int main() { int a=0 , b=0 ; cin >> a ; while(a) { b*=10; b+=a%10; a/=10; } cout << b << "\n"; return 0; } ``` ### TOJ 528 題目連結: https://toj.tfcis.org/oj/pro/528/ ```cpp= #include <iostream> using namespace std; int main() { int a ; cin >> a ; cout << abs(a) << "\n" ; return 0 ; } ``` ```cpp= #include <iostream> using namespace std; int main() { int a ; cin >> a ; if(a<0) { cout << -a << "\n" ; } else { cout << a << "\n" ; } return 0 ; } ``` ### TOJ 529 題目連結: https://toj.tfcis.org/oj/pro/529/ ```cpp= #include <iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; int i=abs(a-b) ; cout << i << "\n" ; return 0 ; } ``` ### TOJ 530 題目連結: https://toj.tfcis.org/oj/pro/530/ ```cpp= #include <iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; int smaller = min ( a , b ) ; int larger = max ( a , b ) ; cout << smaller << " " << larger << "\n" ; return 0 ; } ``` ```cpp= #include <iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; if(a>b) { cout << b << " " << a << "\n" ; } else { cout << a << " " << b << "\n" ; } return 0 ; } ``` ### TOJ 531 題目連結: https://toj.tfcis.org/oj/pro/531/ ```cpp= #include <iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; if(a<b) { cout << "true\n" ; } else { cout << "false\n" ; } return 0 ; } ``` ### TOJ 532 題目連結: https://toj.tfcis.org/oj/pro/532/ ```cpp= #include<iostream> using namespace std; int main() { int p , q , a=0 , b=0 ; cin >> p >> q ; if(p%2==0) a++ ; if(q%2==0) a++ ; if(p%3==0) b++ ; if(q%3==0) b++ ; cout << a << " " << b << "\n" ; return 0 ; } ``` ### TOJ 533 題目連結: https://toj.tfcis.org/oj/pro/533/ ```cpp= #include <iostream> using namespace std; int main() { int a , b , n ; cin >> a >> b >> n ; if(n>=a && n<=b) { cout << "yes\n" ; } else { cout << "no\n" ; } return 0; } ``` ### TOJ 534 題目連結: https://toj.tfcis.org/oj/pro/534/ ```cpp= #include <iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; if(a%2==0 && b%2==0) { cout << "yes\n" ; } else if(a%2!=0 && b%2!=0) { cout << "yes\n" ; } else { cout << "no\n" ; } return 0 ; } ``` ### TOJ 535 題目連結: https://toj.tfcis.org/oj/pro/535/ ```cpp= #include <iostream> using namespace std; int main() { int a ; cin >> a ; if(a==100) { cout << "S\n" ; } else if(a<=99&&a>=90) { cout << "A\n" ; } else if(a<=89&&a>=80) { cout << "B\n" ; } else if(a<=79&&a>=70) { cout << "C\n" ; } else if(a<=69&&a>=60) { cout << "D\n" ; } else { cout << "F\n" ; } return 0 ; } ``` ### TOJ 576 題目連結: https://toj.tfcis.org/oj/pro/576/ ```cpp= #include<iostream> using namespace std; int main() { int n ; cin >> n ; int i=0 ; while(n!=0) { i++; n=n/10 ; } cout << i ; return 0 ; } ``` ### TOJ 577 題目連結: https://toj.tfcis.org/oj/pro/577/ ```cpp= #include<iostream> using namespace std; int main() { int n ; cin >> n ; for(int t=0 ; t<n ; t++) { int a , b ; cin >> a >> b ; long long ans=1 ; for(int i=0 ; i<b ; i++) { ans*=a; } cout << ans << "\n" ; } return 0; } ``` ### TOJ 578 題目連結: https://toj.tfcis.org/oj/pro/578/ ```cpp= #include<iostream> using namespace std; int main() { int n ; cin >> n ; int i=1 ; n=n-1; while(i<=n) { cout << i << " \n" ; i=i+2 ; } return 0 ; } ``` ## AtCoder ### AtCoder A-Three Dice 題目連結: https://atcoder.jp/contests/abc202/tasks/abc202_a ```cpp= #include<iostream> using namespace std; int main() { int a , b , c ; cin >> a >> b >> c ; cout << 7-a+7-b+7-c << "\n" ; return 0 ; } ``` ### AtCoder A-Century 題目連結: https://atcoder.jp/contests/abc200/tasks/abc200_a ```cpp= #include<iostream> using namespace std; int main() { int a ; cin >> a ; cout << (a+100-1)/100 << "\n" ; return 0 ; } ``` ### AtCoder A-Rolling Dice 題目連結: https://atcoder.jp/contests/abc208/tasks/abc208_a ```cpp= #include <iostream> using namespace std; int main() { int a , b ; cin >> a >> b ; int c=a*6 ; if( b<=c && b>=a) { cout << "Yes\n" ; } else { cout << "No\n" ; } return 0; } ``` ### AtCoder A-New Generation ABC 題目連結: https://atcoder.jp/contests/abc214/tasks/abc214_a ```cpp= #include <iostream> using namespace std; int main () { int n; cin >> n ; if(n>0 && n<126) { cout << "4\n" ; } else if (n>125 && n<212) { cout << "6\n" ; } else { cout << "8\n" ; } return 0 ; } ``` ### AtCoder A-AtCoder Quiz 2 題目連結: https://atcoder.jp/contests/abc219/tasks/abc219_a ```cpp! #include <iostream> using namespace std; int main () { int n; cin >> n ; if(n>=0 && n<40) { cout << 40-n << "\n" ; } if(n>=40 && n<70) { cout << 70-n << "\n" ; } if(n>=70 && n<90) { cout << 90-n <<"\n" ; } if(n>=90) { cout << "expert\n" ; } return 0 ; } ``` ### AtCoder A-Product 題目連結: https://atcoder.jp/contests/abc086/tasks/abc086_a ```cpp= #include <iostream> using namespace std; int main() { int n , m; cin >> n >> m; n*=m ; if(n%2==0) { cout << "Even\n" ; } else { cout << "Odd\n" ; } return 0 ; } ``` ### AtCoder A-Exact Price 題目連結: https://atcoder.jp/contests/abc223/tasks/abc223_a ```cpp= #include <iostream> using namespace std; int main() { int n ; cin >> n ; if(n%100==0 && n!=0) { cout << "Yes\n" ; } else { cout << "No\n" ; } return 0 ; } ``` ### AtCoder A-Infinite Coins 題目連結: https://atcoder.jp/contests/abc088/tasks/abc088_a ```cpp= #include <iostream> using namespace std; int main() { int n ,m , o; cin >> n >> m; n%=500; if(m>=n) { cout << "Yes\n" ; } else { cout << "No\n" ; } return 0 ; } ``` ### AtCoder A-RGB Cards 題目連結: https://atcoder.jp/contests/abc064/tasks/abc064_a ```cpp= #include <iostream> using namespace std; int main() { int m , n , o ; cin >> m >> n >> o; m*=100; n*=10; m+=n; m+=o; if(m%4==0) { cout << "YES\n" ; } else { cout << "NO\n" ; } return 0 ; } ``` ### AtCoder A-Counting 題目連結: https://atcoder.jp/contests/abc209/tasks/abc209_a ```cpp! #include <iostream> using namespace std; int main() { int m , n ; cin >> m >> n; if(m<n) { cout << n-m+1 ; } if(m>n) { cout << "0\n" ; } return 0 ; } ``` ### AtCoder A-Cabbages 題目連結: https://atcoder.jp/contests/abc210/tasks/abc210_a ```cpp! #include <iostream> using namespace std; int main() { int m , n , o , p ; cin >> m >> n >> o >> p ; if(m<=n) { cout << m*o <<"\n"; } else { cout << n*o+(m-n)*p <<"\n" ; } return 0 ; } ``` ### AtCoder A-Alloy 題目連結: https://atcoder.jp/contests/abc212/tasks/abc212_a ```cpp= #include <iostream> using namespace std; int main() { int n,m ; cin >> n >> m ; if(n>0 && m==0) { cout << "Gold\n" ; } if(n==0 && m>0 ) { cout << "Silver\n" ; } if(n>0 && m>0) { cout << "Alloy\n" ; } return 0 ; } ``` ### AtCoder A-うるう年 題目連結: https://atcoder.jp/contests/arc002/tasks/arc002_1 ```cpp= #include <iostream> using namespace std; int main() { int n ; cin >> n ; if(n%4==0 && n%100!=0 || n%400==0) { cout << "YES\n"; } else { cout << "NO\n"; } return 0 ; } ``` ### AtCoder A-Placing Marbles 題目連結: https://atcoder.jp/contests/abc081/tasks/abc081_a ```cpp= #include <iostream> using namespace std; int main() { int n ,o ,p ,q; cin >> n ; o=n%10; p=n/10%10; q=n/100%10; if(o>0 && p>0 && q>0) { cout << "3\n" ; } else if(o>0 && p>0 && q==0) { cout << "2\n" ; } else if(o>0 && p==0 && q==0) { cout << "1\n" ; } else if(o==0 && p==0 && q==0) { cout << "0\n" ; } else if(o==0 && p>0 && q>0) { cout << "2\n" ; } else if(o==0 && p==0 && q>0) { cout << "1\n" ; } else if(o==0 && p>0 && q==0) { cout << "1\n" ; } else if(o>0 && p==0 && q>0) { cout << "2\n" ; } return 0 ; } ```