川のブログ

川の適当気ままなブログです。 

AOJ volume2

AOJ 0222 Prime Quadruplet

こんにちは川です。 今回は素数を求めて、条件にあったところで表示させてます。 ソースコード #include <bits/stdc++.h> using namespace std; bool prime[10000001]; int main() { for(int i=3;i<3162;i+=2) if(!prime[i]) for(int j=i*2;j<10000001;j+=i)prime[j]=1; int</bits/stdc++.h>…

AOJ 0220 Binary Digit A Doctor Loved

こんにちは川です。 今回は2のn(7〜-4)乗で割り切れる場合数字を2のn乗で引いていき、 その時、文字として答えを数字を2のn乗で割った値を格納していきます。 その後、数が0より大きい場合は制限桁数に入っていないためNAを出力し、 それ以外では答えを格…

AOJ 0221 FizzBuzz

こんにちは川です。 今回は、特に解説はないです。 ソースコード #include <bits/stdc++.h> using namespace std; int power(int num) { int p=1; for(;1<num;num--)p*=10; return p; } int main() { int n,m,a[3]={15,3,5}; string str,fb[3]={"FizzBuzz","Fizz","Buzz"}; while(cin>>m>>n,n,m){ bool player[1000]={}; for(int i=1,now=0,out=m;i<=n;i+…</num;num--)p*=10;></bits/stdc++.h>

AOJ 0267 Triangle of Blocks

こんにちは川です。 今回は、問題文にある通りにブロックの操作をしていけば解けます。 この問題でコード長を短くすることを意識してたけど、そこまでだね。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int num[2000</bits/stdc++.h>…

AOJ 0266 Aka-beko and 40 Thieves

こんにちは川です。 今回は、行く方向を示す配列を作って現在地を示しただけなので 特に言うことはないです。 ソースコード #include<bits/stdc++.h> using namespace std; int serch(int go,int now) { int direction[6][2]={{1,2},{-1,3},{1,-1},{4,5},{5,2},{2,1}}; if(n</bits/stdc++.h>…

AOJ 0259 All Numbers Lead to 6174

こんにちは川です。 今回は特に解説はないです。 文字列で受け取る -> 配列に入れなおします。 6174が出るまで ソート -> 変数一つに入れなおす -> 引き算 -> 比較 -> 配列に入れ直し ー> という順序でやってますね。 感想としては、sort関数…

AOJ 0230 Ninja Climbing

こんにちは川です。 今回は、メモ化再帰っぽいことしてますね。 再帰をする際に一度来たことがあれば、ループしているということなので NAを出しています。 それ以外は、今いる場所と場合によって一つ上を調べて それに合った行動をしているだけです。 ソー…

AOJ 0241 Quaternion Multiplication

こんにちは川です。 今回は、問題にある表をもとに計算していくだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int num[2][4],n; while(cin>>n,n){ for(int i=0;i<n;i++){ for(int j=0;j<2;j++)for(int k=0;k<4;k++)cin>>num[j][k]; cout<</n;i++){></bits/stdc++.h>

AOJ 0240 Interest Rates

こんにちは川です。 解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int y,ans=0; cin>>y; double num=0; for(int i=0,b,t,r;i<n;i++){ cin>>b>>r>>t; double sum; if(t==1)sum=1.0+y*r/100.0; else sum=pow(1.0+r/1</n;i++){></bits/stdc++.h>…

AOJ 0229 Big Hit !

こんにちは川です。 今回はただ計算するだけなので特にありません。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int big,regu,nob,ci,su,t; while(cin>>big>>regu>>nob>>ci>>su>>t,big,regu,nob,ci,su,t) cout<<100+ci*2+nob*7+regu*63+big*9</bits/stdc++.h>…

AOJ 0228 Seven Segments

こんにちは川です。 今回は、ディスプレイの状況を文字列として持って置きます。 それと非表示の状態で発するシグナルと同じであれば ”0” 違うのであれば ”1” を出力しています。 そして現在の状況を更新みたいなことしていますね。 ソースコード #include<bits/stdc++.h></bits/stdc++.h>…

AOJ 0227 Thanksgiving

こんにちは川です。 今回はsort関数を使いsortするだけなので特に説明はなしです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n,m; while(cin>>n>>m,n,m){ int vege[1000]; for(int i=0;i<n;i++)cin>>vege[i]; sort(vege,vege+n); for(int i=1;n-m*</n;i++)cin></bits/stdc++.h>…

AOJ 0205 Rock, Paper, Scissors

こんにちは川です。 今回も特に解説はないです。 チョキよりパーのほうが先なのか・・・・(問題の話です) ソースコード #include<bits/stdc++.h> using namespace std; int main() { int num[5]; while(cin>>num[0],num[0]){ vector<int> hand(5,0); hand[num[0]]=1; for(int i</int></bits/stdc++.h>…

AOJ 0207 Block

こんにちは川です。 今回は深さ優先探索でスタートと同じ色を探して、一度通ったところは0にするみたいなことしてます。 メモ化再帰っぽいですかね。 ソースコード #include<bits/stdc++.h> using namespace std; int bord[101][101]={},playx[2],playy[2]; int movex[]={1</bits/stdc++.h>…

AOJ 0239 Calorie Counting

こんにちは川です。 今回は特に解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int num[1001],ta[1001],si[1001],su[1001]; for(int i=0;i<n;i++)cin>>num[i]>>ta[i]>>si[i]>>su[i]; cin>>num[1000]>>ta[1000]>>si</n;i++)cin></bits/stdc++.h>…

AOJ 0217 Walking in the Hospital

こんにちは川です。 今回は解説は特にないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int p[2],point[2]={}; cin>>p[0]>>point[0]>>point[1]; point[0]+=point[1]; for(int i=0;i<n-1;i++){ point[1]=0; cin>>p[1]; for(int j=0,num;j<2;</n-1;i++){></bits/stdc++.h>…

AOJ 0216 Cutting Down Water Bills

こんにちは川です。 特に解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n&&n!=-1){ int sum=3130,num[3]={125,140,160}; for(int i=0,j=n-10;i<3;i++,j-=10){ if(j>10&&i!=2)sum-=num[i]*10; else if(j>0)su</bits/stdc++.h>…