2011-01-01から1年間の記事一覧

AOJ 0502 - Dice

aoj

洗練されていないコード.これではお嫁に行けない.(嫁?) 他の人のコードを見て勉強したいと思います. この問題でのショートコーディングはできませんでした. #include <iostream> using namespace std; int main(){ int n; while(cin >> n,n){ //dice = {u,l,r,d,c</iostream>…

AOJ 0512 - Caeser Cipher

aoj

stringかcharかでバイト数が変化する問題 通常 stringを使った安全な解き方 #include <cstdio> #include <iostream> int main(){ std::string s; std::cin >> s; for(int i=0;i<s.size();i++){ char c = s[i] > 67?s[i]-3:s[i]+23; std::cout << c; } puts(""); } ショート stringはコードを長くする => charで</s.size();i++){></iostream></cstdio>…

AOJ 0511 - Who Are The Student Yet To Submit

aoj

最初からショートコーディング気分で書いた. そして,さらに60Byte減らした. 通常ショート #include <cstdio> int main(){ int l[31]={0},n=28; while(n--){ scanf("%d",l); l[*l] = 1; } for(int i=1;i<31;i++){ l[i]?:printf("%d\n",i); } } ショート 119Byte.</cstdio>…

AOJ 0510 - Score

aoj

どっちかといえば,ショートコーディングに似たようなことをしたほうが好きな気がする. 通常 #include <iostream> #include <algorithm> #include <cstdio> using namespace std; int main(){ int a[4],b[4],res; scanf("%d%d%d%d",a,a+1,a+2,a+3); scanf("%d%d%d%d",b,b+1,b+2,b+3); res</cstdio></algorithm></iostream>…

AOJ 0500 - Card Game, 0501 - Data Conversion

aoj

最近書いて無いからって書いたら,1時を回っていたorz. この時間帯のツイートにはTopCoder成分が多いんですね. TopCoder...やりたいけど,英語ができない. AOJ 0500 - Card Game 通常 #include <iostream> using namespace std; int main(){ int n; while(cin >> n</iostream>…

AOJ 0112 - A Milk Shop

aoj

#include <iostream> #include <algorithm> #include <vector> int main(){ int n; while(std::cin>>n,n){ std::vector<int> v; for(;n;n--){ int i; std::cin>>i; v.push_back(i); } std::sort(v.begin(),v.end()); std::vector<int>::iterator it = v.begin(); long long int wtime = 0,stime = 0;</int></int></vector></algorithm></iostream>…

AOJ 0100 - Sale Result

aoj

なぜ今まで解けなかったかというと、 (1)順番どおりに出力する方法が浮かばなかった (2)入力値がintで想定されている(本当にもっと大きいらしいです) #include <iostream> #include <vector> #include <map> int main(){ int n; std::map<int,long long> m; std::vector<int> v; //m数値保存v順序保存 lo</int></int,long></map></vector></iostream>…

Project Euler - 0008

ゴリ押ししました。掛け算何回もやっているので無駄が多いと思います。 #include <iostream> #include <algorithm> int ctoi(char c){ return (int)c - '0'; } int main(){ std::string n = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016</algorithm></iostream>…

LispでAOJ0000を解く

まだあまりやっていないのでよく分からなかった。 (dotimes (y 9) (dotimes (x 9) (format t "~Ax~A=~A~%" (1+ y) (1+ x) (* (1+ x) (1+ y))) ) ) 次の0001で積みました。いつか解きたい

Project Euler - Program 5

ユークリッドの互除法を使って解いてみた。 完全にダメなコード例です。 #include <iostream> long long int eucalgo(int a,int b){ long long int res = a % b; if(!res)return b; else{eucalgo(b,res);} } int main(){ long long res = 1; for(int i=2;i<=20;i++){ r</iostream>…

シンボリックリンクを作成する

Ubuntuの場合 ln -s リンク元 リンク先どちらも絶対パスで入力しましょう.(130331追記)Windowsの場合 (管理者権限でコマンドプロンプトを開くこと) mklink [/d] リンク先 リンク元/dはリンク元がフォルダの場合つける。

AOJ 0521 - Change & 貪欲法の読み方

aoj

#include <iostream> int main(){ int a[6] = {500,100,50,10,5,1}; int n; while(std::cin>>n){ if(!n)break; n=1000-n; int res = 0; for(int i=0;i<6;i++){ res = res + n / a[i]; n = n % a[i]; } std::cout<</iostream>

AOJ 0067 - The number of island

aoj

深さ優先探索を初めて解いた。 #include <iostream> std::string map[12]; void dfs(int x,int y){ if(x-1>=0&&map[y][x-1]=='1')map[y][x-1]='0',dfs(x-1,y); if(x+1<=11&&map[y][x+1]=='1')map[y][x+1]='0',dfs(x+1,y); if(y-1>=0&&map[y-1][x]=='1')map[y-1][x]='0'</iostream>…

PKU - 1003,1004

PKU

正答率の高いところから入っていくことにしました。 今回は1003,1004を解きました。 1003 自分的な解釈は、紙をのっけていく。 入力された数値を超えるのはいつかっていうことだと数分後に気づいた。 そうなると実装は楽だった。 SourceCode #include <iostream> int p</iostream>…

AOJ 0105 - Book Index 短くしたけどまだ長い

aoj

AOJ 0105 最初に書いてみたコード #include <iostream> #include <map> #include <vector> #include <algorithm> int main(){ std::string s; int p; std::map<std::string,std::vector<int> > m; while(std::cin>>s>>p,p!=0){//入力の終了をどうするか分からなかったのでp=0でテストできるようにした。 m[s].push_back(p); }</std::string,std::vector<int></algorithm></vector></map></iostream>…