川のブログ

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

2016-07-01から1ヶ月間の記事一覧

AOJ 0176 What Color?

こんにちは川です。 今回は、計算がややこしい?ですかね。 自分は、16進数表示された文字列から10進数に直す際は、配列の 文字のアスキーコード表に対応した要素番号に値を保存しました。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { str</bits/stdc++.h>…

AOJ 0259 All Numbers Lead to 6174

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

AOJ 0230 Ninja Climbing

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

AOJ 0556 Tile

こんにちは川です。 今回は、規則性を見出す問題ですかね。 赤である場合は (縦1列) ai % 3 == 1 で ai - bi が 0 以上 で N - bi が 3 * (ai / 3) もしくは、 (横1列) bi % 3 == 1 で bi - ai が 0 以上 で N - ai が 3 * (bi / 3) 青である場合は (縦1列) …

AOJ 0578 Signboard

こんにちは川です。 今回は、特に言うことはないです。 1文字目と2文字目の間の文字数を読み取り、その値の間隔でお店の名前と 一致するかを判断しています。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; string ans,str; ci</bits/stdc++.h>…

AOJ 0594 Super Metropolis

こんにちは川です。 今回は、最短の道を求める問題ですね。 斜めの道が使えないとき(今いる場所と次の場所が 左上、右下 にあるとき)は マンハッタン距離で、 斜めの道に進める場合はx座標かy座標のどちらかと同じになるまで斜めで進み、 余った道を足せば…

AOJ 0092 Square Searching

こんにちは川です。 今回は、dpですね。 (i,j)を正方形の右下の点と置いた時の辺の長さを持っておきます。 ソースコード #include<bits/stdc++.h> using namespace std; int dp[1000][1000]; string str[1000]; int serch(int n) { int ans=0; memset(dp,0,sizeof(dp)); for</bits/stdc++.h>…

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 0538 IOIOI

こんにちは川です。 今回は、一つ一つ調べていくと間に合いません。 なので、調べられるところまで調べたらそこまで調べた処理を加える?みたいなことをしています。とりあえず見てください。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int </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>…

AOJ 0123 Speed Skating Badge Test

こんにちは川です。 今回は本当にやるだけなので、特に何もないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { double time[2]; while(cin>>time[0]>>time[1]){ if(time[0]<35.5&&time[1]<71)cout<<"AAA\n"; else if(time[0]<37.5&&time[1]</bits/stdc++.h>…

AOJ 0134 Exit Survey

こんにちは川です。 今回は、普通に加算していくとint型に入る値をオーバーしてしまうので、適当な数で割って小数で計算しています。平均にした後、適当な数でかけて整数に戻しています。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n,w=</bits/stdc++.h>…

AOJ 0133 Rotation of a Pattern

こんにちは川です。 今回は、for文の回す順序を変えているだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { string str[8]; for(int i=0;i<8;i++)cin>>str[i]; cout<<"90\n"; for(int i=0;i<8;i++){ for(int j=7;j>-1;j--)cout<<str[j][i]; cout<<endl; } cout<<"180\n"; for(int i=7;i>-1;i--){</str[j][i];></bits/stdc++.h>…