メモ

yukicoderでゆるふわgolf

2017-08-01から1ヶ月間の記事一覧

yukicoder No.561 東京と京都

問題はこちら No.561 東京と京都 - yukicoderDPやるだけ(といいつつ、後ろから見る方法しか思いつかなかったので要反省)(i-1)日目が終了した時点で東京にいるときの最大利益をT、京都にいるときの最大利益をKとおく。 i日目に東京でt、京都でk得られる場合…

yukicoder No.537 ユーザーID

問題はこちら No.537 ユーザーID - yukicoder2つの数A,Bを連結するのは、文字列として処理するのでも良いが、Cだと面倒なので計算をする 数Bの桁数はで得られるので、AとBをこの順で連結したものはで求められるNが大きいので1~√Nまでを調べる long n,s[2000…

yukicoder No.560 ふしぎなナップサック

問題はこちら No.560 ふしぎなナップサック - yukicoder算数やるだけ ナップサックの中にM円入っているとき、1回叩いた後は (2M+(M+1)+0)*1/3=M+1/3 より(M+1/3)円になる。 これはMに依らないのでこの操作をN回行うとM+N/3円になる。 (写像f(M)=M+1/3をN回…

yukicoder No.559 swapAB列

問題はこちら No.559 swapAB列 - yukicoder求めるものは転倒数と同値 先頭から見ていってAが登場する度に、それ以前に登場したBの個数を数えれば良い char s[99]; b,ans,n; main(){ gets(s); n=strlen(s); for(int i=0;i

yukicoder No.558 575検出するやつ

問題はこちら No.558 575検出するやつ - yukicoderstrstrするだけ char s[110]; main(){ gets(s); puts(strstr(s,"575")?"YES":"NO"); } 100文字をintに読み込んでも幸いREにはならず a;main(){puts(strstr(gets(&a),"575")?"YES":"NO");} 50B aをmain引数に…

yukicoder No.305 鍵(2)

問題はこちら No.305 鍵(2) - yukicoderwriter解と同じ発想 ある桁の数字を変えた時、当たり数が大きくなれば新しい方が当たり、小さくなれば古い方が当たり。これを繰り返して上の桁から順に調べていく char s[]="0000000000"; n,k,i; main(){ puts(s); ffl…

yukicoder No.557 点対称

問題はこちら No.557 点対称 - yukicoder回文と同様、上半分を決めると下半分は自動的に決まる ・n=1のとき 1,8の2通り ・nが偶数のとき 上位n/2桁を決めると、下位は自動的に決まる 先頭の位に使えるのは1,6,8,9の4通り それ以外は0,1,6,8,9の5通り よって4…

yukicoder No.554 recurrence formula

問題はこちら No.554 recurrence formula - yukicoderとする このとき よりとなりの漸化式が得られる でありなので、これにより計算できる long s[100100]; n,ans,m=1e9+7; main(){ scanf("%d",&n); if(n==1)ans=1; else{ s[1]=1; for(int i=2;i<=n;i++)s[i]…

yukicoder No.552 十分簡単な星1の問題

問題はこちら No.552 十分簡単な星1の問題 - yukicoder値が大きいので文字列として読み込む。 0のときはそのまま出力し、それ以外のときは末尾に0をつける char s[99]; main(){ gets(s); if(strcmp(s,"0")==0)puts("0"); else printf("%s0",s); } 20文字くら…

yukicoder No.548 国士無双

問題はこちら No.548 国士無双 - yukicoder「a~mのうち、いずれか1種を2つ、残りの12種を1つ含む」というのは「a~mのうち、13種いずれもを1つ以上含み、これら以外を含まない」と同値 よって、与えられた13文字にa~mを加えたものが条件をみたすかをチェッ…

yukicoder No.547 未知の言語

問題はこちら No.547 未知の言語 - yukicoderscanfを使うと空白区切りで読み込めるのでstrcmpで比較するだけ char s[11][22]; char t[11][22]; main(){ int n; scanf("%d",&n); for(int i=0;i