約 741,041 件
https://w.atwiki.jp/asigami/pages/1318.html
曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE(SHOCK) Sucka Luva Harmony Machine DDR2013 激11 118 272/4 STREAM VOLTAGE AIR FREEZE CHAOS 50 44 83 9 27 激譜面(11) 譜面 http //eba502.web.fc2.com/fumen/ddr/ddr2013/sukaluva_4m.html 動画 http //www.youtube.com/watch?v=b-fhkSHJheo (x4.5, Rainbow) http //www.nicovideo.jp/watch/sm20612085 http //www.nicovideo.jp/watch/sm20612085 (x3.5, Note) 解説 全体的に同時踏みに絡んだ配置が多い譜面。 (2013-07-25 14 32 16) 中盤の裏拍ジャンプ→同時8分3連が印象的。 (2013-07-25 14 34 34) ラストは同時を含んだ8分滝。滝のラストに同時8分4連。 (2013-07-25 14 51 53) コメント コメント(感想など) 最新の10件を表示しています。コメント過去ログ BPMは遅いけど同時が混ざる8分滝が意外と忙しい。11挑戦レベルだとクリアは危ういかも - 2013-05-11 23 45 40
https://w.atwiki.jp/ddr_dp/pages/1399.html
Sucka Luva(激) 曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE その他 Sucka Luva Harmony Machine 2013 激11 118 273 / 4 STREAM VOLTAGE AIR FREEZE CHAOS 50 44 85 9 27 楽譜面(5) / 踊譜面(8) / 激譜面(11) / 鬼譜面(-) 属性 同時踏み、八分滝、ラス殺し 譜面 http //eba502.web.fc2.com/fumen/ddr/ddr2013/sukaluva_8m.html 譜面動画 http //www.youtube.com/watch?v=ky5V7vfxKLE (x4.0, NOTE) http //www.nicovideo.jp/watch/sm20612085 http //www.nicovideo.jp/watch/sm20612085 (x3.0, NOTE, 1 58~) プレイ動画 https //www.youtube.com/watch?v=QONSWmBOenA (x?.?, オプション不明) 解説 同時がかなり多いエアスペ状態。大階段往復やラストの同時含む配置は交差前提で足運びが難解。BPMが遅いので落ち着いて踏むべし -- 名無しさん (2013-04-13 01 26 30) 名前 コメント コメント(私的なことや感想はこちら) ぐるぐる回りながら踏めて楽しい譜面ですね -- 名無しさん (2013-07-04 00 20 09) 終盤の同時混じりの8分滝は最初の同時を捻りで取り、以降中央同時を交差で取れば一応交互に踏める。交互にこだわらなければ適当にスライドして正面維持を…と言いたいところだけど適当にやってると行き詰るかも。他にも中盤に交互難の8分滝があったりとBPMが遅いながらひねくれた譜面。 -- 名無しさん (2014-10-26 20 50 49) 序盤はチュンリー、前半は4分同時渡り、中盤は反復横跳び~エアスペ耐性、後半は大階段、ラストは大階段+同時と言う足運びに悩む難解なラス殺し配置とこれでもかとDPのテクニックを上げるのに役立つ配置がてんこ盛り。低速でプレー出来るのも有り難いので踏みにくいからと避けずに練習用に使ってほしい一曲です。 -- 名無しさん (2020-10-17 10 50 40) 名前 コメント
https://w.atwiki.jp/c21coterie/pages/662.html
100 - The 3n + 1 problem http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=36 初めてのUVaですが解いてみたらコード実行速度3892/74613位。 上位5%近辺に入れて悪くないスタートですが、私は英語がほとんどできないので他の問題も解けるかは不明。 #include stdio.h #include string.h int memo[1000*1000+1]; int saiki(unsigned int n){ if(n =1000*1000 memo[n]!=-1){ return memo[n]+1; }else{ int no=saiki(n%2==1?3*n+1 n/2); if(n =1000*1000)memo[n]=no; return no+1; } } int main(){ memset(memo,-1,sizeof(memo)); memo[1]=1; for(int i=2;i =1000*1000;i++){ if(memo[i]==-1)memo[i]=saiki(i%2==1?3*i+1 i/2); } int a,b; while(scanf("%d", a)!=EOF){ if(scanf("%d", b)==EOF)break; int max=0; if(a =b)for(int i=a;i =b;i++)if(max memo[i])max=memo[i]; if(b =a)for(int i=b;i =a;i++)if(max memo[i])max=memo[i]; printf("%d %d %d\n",a,b,max); } } 問い101 - The Blocks Problem http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=37 アームロボットにブロックの移動命令が与えられる。 移動後のブラックの状態を答えよという問題。 #include stdio.h #include vector #include string #include iostream //私は英語が苦手なため何度もWAになってから題意をつかむという状態です。 //必然的に正答率は非常に低くなります std vector int bs[25]; int main(){ int n,a,b; scanf("%d", n); for(int i=0;i n;i++)bs[i].push_back(i); std string com1,com2; while(1){ std cin com1; if(com1=="quit")break; std cin a com2 b; int no1,no2; std vector int iterator it1,it2,it3; for(int i=0;i n;i++){ for(std vector int iterator it=bs[i].begin();it!=bs[i].end();it++){ if((*it)==b){ no2=i;//b置かれる場所 it2=it; } if((*it)==a){ it1=it;//a置くもの no1=i; } } } if(no1==no2)continue; if(com1=="move" com2=="onto"){ it2++; it2=bs[no2].insert(it2,(*it1)); it2++; it1=bs[no1].erase(it1); while(it2!=bs[no2].end()){ bs[(*it2)].push_back((*it2)); it2=bs[no2].erase(it2); } while(it1!=bs[no1].end()){ bs[(*it1)].push_back((*it1)); it1=bs[no1].erase(it1); } } if(com1=="move" com2=="over"){ bs[no2].push_back((*it1)); it1=bs[no1].erase(it1); while(it1!=bs[no1].end()){ bs[(*it1)].push_back((*it1)); it1=bs[no1].erase(it1); } } if(com1=="pile" com2=="onto"){ it2++; it3=it1; while(it1!=bs[no1].end()){ it2=bs[no2].insert(it2,(*it1)); it2++; it1++; } while(it2!=bs[no2].end()){ bs[(*it2)].push_back((*it2)); it2=bs[no2].erase(it2); } bs[no1].erase(it3,bs[no1].end()); } if(com1=="pile" com2=="over"){ bs[no2].insert(bs[no2].end(),it1,bs[no1].end()); bs[no1].erase(it1,bs[no1].end()); } } for(int i=0;i n;i++){ printf("%d ",i); for(int j=0;j bs[i].size();j++){ printf(" %d",bs[i][j]); } printf("\n"); } } 102 Ecological Bin Packing http //uva.onlinejudge.org/external/1/102.html ビンを分けるらしいのだがよくわからなかった問題。 1682/17942位獲得。 題意がよくわからなかったので検索したら中国語の正答コード掲載ブログが出てきた。 ブログを読んでもやはり良くわからなかったので参考にコードを縮めれないか試したくらい。 この問題で速度差が出るとは思えないので同順位多数ということだと思う。 #include stdio.h int main(){ int b1,c1,g1,b2,c2,g2,b3,c3,g3,ws[6]; char ansCom[6][4]={"BCG","BGC","CBG","CGB","GBC","GCB"}; while(1){ int sum; if(scanf("%d %d %d %d %d %d %d %d %d", b1, g1, c1, b2, g2, c2, b3, g3, c3)==EOF)return 0; sum=b1+c1+g1+b2+g2+c2+b3+g3+c3; ws[0]=b1+c2+g3; ws[1]=b1+g2+c3; ws[2]=c1+b2+g3; ws[3]=c1+g2+b3; ws[4]=g1+b2+c3; ws[5]=g1+c2+b3; int max=ws[0],no=0; for(int i=0;i 6;i++){ if(max ws[i]){ max=ws[i]; no=i; } } printf("%s %d\n",ansCom[no],sum-max); } } 問い103 http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=39 d次元空間の箱を別の箱に入れて入れ子にしていく時もっともたくさんたくさん入る入れ子を出力せよという問題。 箱は回転しても良いがどのへんも次元の軸と平行でなくてはいけない。 例えば3次元なら箱のどの辺もX軸、Y軸、Z軸のどれかと平行でなくてはいけない。 解法 箱が別の箱に入る関係を半順序集合のグラフとして表現。 箱の回転は回転行列の概念より2この座標を入れ替えるのと同じなので全ての組み合わせを考えることが出来る。 5,4,3,2,1の長さで表される箱なら5,4,3,2,1を並べ替えたすべての組み合わせとして表現することが出来る。 後はダイクストラ法もどきで解決。 入るかどうかの判断関数をもっと高速化できると気付かずランクは。 3242/8598位と平凡な結果に。 #include stdio.h #include vector #include algorithm #include set bool isInOk(std vector int q1,std vector int q2){ //ベクターはソート済みであると仮定 std vector int iterator it; for(int i=0;i q1.size();i++){ it=std upper_bound( q2.begin(), q2.end(), q1[i] ); if(it==q2.end())return false; q2.erase(it); } return true; } void upData(std vector int ansA,std vector int ansB){ if(ansA.size() ansB.size()){ ansA.clear(); ansA.insert(ansA.begin(),ansB.begin(),ansB.end()); } } int main(){ int n,d,l; while(scanf("%d %d", n, d)!=EOF){ std vector int qs[31],ans[31],lastAns; std set int G[31]; std set int iterator it; for(int i=0;i n;i++){ for(int j=0;j d;j++){ scanf("%d", l); qs[i].push_back(l); } std sort(qs[i].begin(),qs[i].end()); ans[i].push_back(i); } for(int i=0;i n;i++){ for(int j=0;j n;j++){ if(i==j)continue; if(isInOk(qs[i],qs[j])==true){ //jの中にiが入った G[j].insert(i); } } } int spents[31]={0}; for(int i=0;i n;i++){ std vector int dells; for(int j=0;j n;j++){ if(G[j].empty()==true spents[j]==0){ dells.push_back(j); spents[j]=1; } } if(dells.empty()==true)break; for(int j=0;j dells.size();j++){ int no=dells[j]; for(int k=0;k n;k++){ if(G[k].find(no)!=G[k].end()){ ans[no].push_back(k); upData(ans[k],ans[no]); ans[no].pop_back(); G[k].erase(no); } } } } for(int i=0;i n;i++){ if(lastAns.size() ans[i].size()){ lastAns.clear(); lastAns.insert(lastAns.begin(),ans[i].begin(),ans[i].end()); } } printf("%d\n",lastAns.size()); for(int i=0;i lastAns.size();i++){ printf("%d",lastAns[i]+1); if(i lastAns.size()-1)printf(" "); } printf("\n"); } } 104 - Arbitrage http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=40 通貨売買をして1%以上の儲けを出せるならその売買手順を表示する問題。 解法 この問題サンプルデータを見てもしかして一度使った通貨は使えないと勘違い。 そんな激ムズ問題と勘違いしてどうすれば高速に動くかばかり考えWAを3連続でくらってしまった(←かなりの馬鹿) 実際は、同じ通貨を何度使っても良いという優しい問題でした。 まあそれでも一発で通ると思って書いたちょっぱやでかいたコードに書き間違いがあってて提出してWAくらったんですけどね。 速度よりも実装の分かりやすさを優先して書いた結果2586/4947位という妥当な順位になりました。 #include stdio.h #include vector #include queue #include string.h #include map struct S{ int now,size; double val; std vector int ans; }; class permSorter{ public bool operator()(const S l, const S r) const { if(l.size!=r.size)return l.size r.size; if(l.ans[0]!=r.ans[0])return l.ans[0] r.ans[0]; return l.now r.now; } }; class valSorter { public bool operator()(const S l, const S r) const { if(l.size!=r.size)return l.size r.size;//サイズの小さい方優先 if(l.ans[0]!=r.ans[0])return l.ans[0] r.ans[0]; if(l.now!=r.now)return l.now r.now; return l.val r.val;//値の大きい方が優先 } }; void ansPrint(std vector int ans){ for(unsigned int i=0;i ans.size();i++){ printf("%d",ans[i]+1); if(i ans.size()-1)printf(" "); } printf("\n"); } void calc(int n){ double Ds[21][21]; for(int i=0;i n;i++){ for(int j=0;j n;j++){ if(i==j)Ds[i][j]=1.0; else scanf("%lf", Ds[i][j]); } } std map S,double,permSorter memo; std priority_queue S,std vector S ,valSorter qu; S s1; for(int i=0;i n;i++){ s1.val=1.0; s1.now=i; s1.size=0; s1.ans.push_back(i); qu.push(s1); s1.ans.pop_back(); } while(qu.empty()==false){ s1=qu.top(); qu.pop(); if(s1.size =n)break; if(memo.find(s1)!=memo.end() memo[s1] =s1.val)continue; memo[s1]=s1.val; s1.size++; double d1=s1.val; int now=s1.now; for(int k=0;k n;k++){ if(k==s1.now)continue; if(s1.val*Ds[now][k] =1.01 s1.ans[0]==k){ s1.ans.push_back(k); ansPrint(s1.ans); return ; }else if(memo.find(s1)==memo.end()||memo[s1] s1.val){ s1.val*=Ds[now][k]; s1.now=k; s1.ans.push_back(k); qu.push(s1); s1.ans.pop_back(); s1.val=d1; s1.now=now; } } } printf("no arbitrage sequence exists\n"); } int main(){ int n; while(scanf("%d", n)!=EOF){ calc(n); } } 105- The Skyline Problem http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=41 y=0を床とする平面の上に長方形が置かれている。 長方形の高さに変化があった場所を表示せよという問題。 コード実行速度325/6697位を獲得。 何一つ工夫しないで素朴に実装しただけなのに何故こんなに高ランクになってんだろ? #include stdio.h #include algorithm #include map #include vector const int OUT=1,IN=0; struct S{ int x,h,type; bool operator (const S s)const{ if(x!=s.x)return x s.x; return type s.type; } }; int main(){ int nowX; std map int,int memo; std map int,int iterator it; std vector S datas; S s1; int a,b,h; while(scanf("%d", a)!=EOF){ scanf("%d %d", h, b); s1.x=a; s1.h=h; s1.type=IN; datas.push_back(s1); s1.x=b; s1.type=OUT; datas.push_back(s1); } std sort(datas.begin(),datas.end()); nowX=datas[0].x; int no=0,nowH=0; while(no datas.size()){ while(no datas.size() nowX==datas[no].x){ s1=datas[no]; if(s1.type==OUT){ memo[s1.h]--; }else{ memo[s1.h]++; } if(memo[s1.h] =0)memo.erase(s1.h); nowX=s1.x; no++; } if(datas.size() =no)break; it=memo.end(); if(it!=memo.begin())it--; if(nowH!=(*it).first){ printf("%d %d ",nowX,(*it).first); nowH=(*it).first; } nowX=datas[no].x; } printf("%d 0\n",nowX); } 106 - Fermat vs. Pythagoras http //uva.onlinejudge.org/external/1/106.html x^2+y^2=z^2でzがn以下になる原始ピタゴラス数の数と、z<=nとなる(原始でないのもふくむ)ピタゴラス数の組に使われてないn以下の数の個数を答える問題。 例えば5と問われたら3,4,5の組しかないので1と2は使ってない。 ピタゴラス数にでてこない数は1と2の2個と答える問題です。 1059/5437位、自分で考えたにしては健闘したほう。 整数論の教育は中学どまりなのでこの手の問題で上位入りは不可能だとわかってる。 解法 原始ピタゴラス数を求める公式から斜辺がmax以下(問われた一番大きな数)までの組を求め、これを優先順位付きキューにいれて斜辺の長さでソーティング。 後は斜辺の短い方から出現した数を足し合わせていけば答えとなります。 これより賢い方法を自分では考えつけない状態。 #include stdio.h #include vector #include set #include map #include queue int gcd ( int a, int b ){ int c; while ( a != 0 ) { c = a; a = b%a; b = c; } return b; } struct Delta{ int a,b,c; bool operator (const Delta d)const{ return c d.c; } }; int all[1000*1000+1]={0}; int main(){ std vector int Qs; std set int sortQs; std map int,int memo,memoBase; std map int,int iterator mIt; std map int,int ans,ansBase; std priority_queue Delta qu; Delta d1; int n,max=0; while(scanf("%d", n)!=EOF){ Qs.push_back(n); sortQs.insert(n); memo[n]=0; memoBase[n]=0; if(max n)max=n; } for(int m=2;m*m+1 =max;m++){ for(int n=1;n m m*m+n*n =max;n++){ if(((m-n) 1)==0 || gcd(m,n)!=1)continue; int a=m*m-n*n; int b=2*m*n; int c=m*m+n*n; mIt=memoBase.lower_bound(c); (*mIt).second++; for(int i=1;i*c =max;i++){ d1.a=a*i; d1.b=b*i; d1.c=c*i; qu.push(d1); } } } while(qu.empty()==false){ d1=qu.top(); qu.pop(); mIt=memo.lower_bound(d1.c); if(all[d1.a]==0){ all[d1.a]=1; (*mIt).second++; } if(all[d1.b]==0){ all[d1.b]=1; (*mIt).second++; } if(all[d1.c]==0){ all[d1.c]=1; (*mIt).second++; } } int sum=0,sumBase=0; for(std set int iterator sIt=sortQs.begin();sIt!=sortQs.end();sIt++){ int num=(*sIt); sum+=memo[num]; ans[num]=sum; sumBase+=memoBase[num]; ansBase[num]=sumBase; } for(int i=0;i Qs.size();i++){ printf("%d %d\n",ansBase[Qs[i]],Qs[i]-ans[Qs[i]]); } } 107 - The Cat in the Hat http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=43 問題 読解に苦労した問題。 1匹の帽子の中にr匹の猫が入っている。 そのr匹の猫の帽子の中にr匹の猫が入っていて連鎖する。 これはr分木になっている。 帽子をかぶってる猫は、その帽子の中に入ってる猫の(r+1)倍の大きさであり一番奥の帽子に入ってる猫のサイズ1である。 一番大きな猫のサイズnと一番小さな猫の数mが一行に与えられるので一番小さな猫以外の数と全部の猫の身長の合計を答えよ。 解法 n=(i+1)^kかつm=i^kとなるiが見つかればそれが答えのカギとなります。 後は計算して足し合わせるだけです。 GCDとかその辺を使えば高速化できるかもしれません。 922/4997位と平凡な結果に。 #include stdio.h #include iostream void calc(long long int n,long long int m){ for(long long int i=1;i*i =m;i++){ long long int n1=n; long long int m1=m; long long int ans1=0,ans2=m1,k=1; while(n1%(i+1)==0 m1%i==0){ n1/=(i+1); m1/=(i); k*=(i+1); ans1+=m1; ans2+=m1*k; if(k n)break; } if(n1==1 m1==1){ std cout ans1 " " ans2 "\n"; return ; } } if(n==m+1){ std cout "1 " m+1+m "\n"; } } int main(){ int n,m; while(1){ std cin n m; if(n==0 m==0)break; calc(n,m); } } 108 - Maximum Sum http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=44 N*Nのマス目に数字が書かれている。 マス目を長方形で囲んだとき内部の数字の合計が最大になる領域の合計値を求めよという問題。 解法 とりあえず賢い方法を思いつかなかったので尺取り虫法で列の長さをそろえながら一行ずつ計算してみました。 1568/1034位という平凡な結果に。 #include stdio.h #include string.h int main(){ int n; int board[101][101]; scanf("%d", n); for(int i=0;i n;i++){ for(int j=0;j n;j++){ scanf("%d" , board[i][j]); } } int ans=-1000000; for(int i=0;i n;i++){ int colSum[101]; memset(colSum,0,sizeof(colSum)); for(int c=0;c n;c++){ for(int r=0;r =i;r++){ colSum[c]+=board[r][c]; } } for(int r=i+1;r =n;r++){ int rowSum=0; for(int c=0;c n;c++){ rowSum+=colSum[c]; if(rowSum colSum[c])rowSum=colSum[c]; if(ans rowSum)ans=rowSum; } if(r==n)break; for(int c=0;c n;c++){ colSum[c]=colSum[c]+board[r][c]-board[r-i-1][c]; } } } printf("%d\n",ans); } 109 SCUD Busters http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=45 外壁で囲まれた国にミサイルが降り注ぐ。 国内にミサイルが落ちた全ての国の面積の総計を答えよという問題。 解法 最初の2点を選びさえできれば後は角度変化の小ささを基準に外壁の頂点を決定していけばループが一つ減って高速化できたのですが、最初の2点を選ぶ処理と角度の処理でコードが膨らむのはどうかと思って回避しました。 かわりに半開平面の概念を使って解いてます。 外側になる2点をとおる直線を描いたとき、残りのすべての点が半開平面の片側にあればその2点は外壁となります。 この処理を採用した結果ループが一つ多くなり、1085/1590位という酷い結果になってます。 100%間違いないコードを書いたところでふとどうしても辺上や頂点にミサイルが着弾した場合の処理を解釈できない状態でした。 投稿直前のチェック用に、頂点や辺上での処理がどうなるか他の人のコードを見てから投稿した問題です。 #include stdio.h #include math.h #include vector struct P{ int x,y; }; std vector P getOutLines(const std vector P ps){ std vector P ans; int size=ps.size(); int sp,spents[101]={0},Lx=500; for(int i=0;i size;i++){ if(Lx ps[i].x){ Lx=ps[i].x; sp=i; } } int p=sp,mod,count=0; P p1,p2,p3; ans.push_back(ps[p]); while(1){ p1=ps[p]; for(int i=0;i size;i++){ if(i==sp count 2)continue; if(i==p)continue; if(spents[i]==1)continue; p2=ps[i]; mod=-2; int y1=p2.y-p1.y; int x1=p2.x-p1.x; bool ok=true; for(int k=0;k size;k++){ if(i==k||p==k)continue; p3=ps[k]; int y2=p3.y-p1.y; int x2=p3.x-p1.x; int g1=x1*y2-x2*y1; if(g1==0){ if(x1*x2+y1*y2 =0)continue; if(x1*x1+y1*y1 x2*x2+y2*y2){ ok=false; break; }else{ continue; } } g1=g1 0?1 -1; if(mod==-2)mod=g1; if(mod!=g1){ ok=false; break; } } if(ok==true){ p=i; break; } } p1=ans[ans.size()-1]; if(p1.x!=ps[p].x||p1.y!=ps[p].y){ ans.push_back(ps[p]); } spents[p]=1; count++; if(p==sp)break; } return ans; } double sumS(P p1,P p2,P p3){ double x1,x2,y1,y2; x1=p3.x-p1.x; y1=p3.y-p1.y; x2=p2.x-p1.x; y2=p2.y-p1.y; return 0.5*(x2*y1-x1*y2); } int main(){ std vector std vector P ps; std vector P v,re; std vector double outs; P p1; int n; while(1){ scanf("%d", n); if(n==-1)break; ps.push_back(v); int no=ps.size()-1; while(n--){ scanf("%d %d", p1.x, p1.y); ps[no].push_back(p1); } ps[no]=getOutLines(ps[no]); double sum=0; for(int i=1;i ps[no].size()-1;i++){ sum+=sumS(ps[no][0],ps[no][i],ps[no][i+1]); } if(sum 0.0)sum=-sum; outs.push_back(sum); //printf("(%d %lf)",no,sum); } double ans=0; while(scanf("%d %d", p1.x, p1.y)!=EOF){ double g1,g2; for(int i=0;i ps.size();i++){ if(outs[i]==0)continue; bool isOut=true; g1=sumS(ps[i][0],ps[i][1],p1); for(int j=1;j ps[i].size()-1;j++){ g2=sumS(ps[i][j],ps[i][j+1],p1); if(g2==0||g1==0){ break; } if(g1 =0 g2 0){ isOut=false; break; } if(g1 0 g2 0){ isOut=false; break; } } if(isOut==true){ ans+=outs[i]; outs[i]=0; } } } printf("%.2lf\n",ans); } 110 - Meta-Loopless Sorts 変数の数1 =n =8が与えられるので、これをa,b、、とaから始まる8個の変数までに読みこみ if,else if,else,readln,writeln、 文だけを使って,a,b,c,,,,をソートできるphytonプログラムを生成せよという問題。 解法 順序集合が分岐する場合全部を探索して出力しました。 凄くめんどくさい問題という印象しかありません。 順位は291/1520位まあまあです。 #include stdio.h #include string.h #include algorithm char text[10]="abcdefgh"; void roopSlide(int perm[10],int s,int g){ int t=perm[g]; for(int i=g-1;i =s;i--){ perm[i+1]=perm[i]; } perm[s]=t; } void saiki(int perm[10],int deep,int m){ if(deep==m-1){ for(int i=0;i =deep;i++)printf(" "); printf("writeln("); for(int i=0;i m;i++)printf("%c%c",text[perm[i]],i==m-1? ) , ); printf("\n"); }else{ for(int i=0;i =deep;i++)printf(" "); printf("if %c %c then\n",text[perm[deep]],text[perm[deep+1]]); saiki(perm,deep+1,m); int temp[10]; memcpy(temp,perm,sizeof(temp)); for(int i=deep-1;i =0;i--){ for(int j=0;j =deep;j++)printf(" "); printf("else if %c %c then\n",text[perm[i]],text[perm[deep+1]]); roopSlide(perm,i+1,deep+1); saiki(perm,deep+1,m); memcpy(perm,temp,sizeof(temp)); } for(int i=0;i =deep;i++)printf(" "); printf("else\n"); roopSlide(perm,0,deep+1); saiki(perm,deep+1,m); memcpy(perm,temp,sizeof(temp)); } } int main(){ int n,m; scanf("%d", n); for(int i=0;i n;i++){ if(i!=0)printf("\n"); scanf("%d", m); printf("program sort(input,output);\nvar\n"); for(int i=0;i m;i++){ printf("%c%c",text[i],i==m-1? , ); } printf(" integer;\nbegin\n readln("); for(int i=0;i m;i++){ printf("%c",text[i]); if(i m-1)printf(","); } printf(");\n"); int perm[10]={0,1,2,3,4,5,6,7}; saiki(perm,0,m); printf("end.\n"); } }
https://w.atwiki.jp/jpops/pages/16170.html
Bass Manuvasをお気に入りに追加 Bass Manuvasのリンク #bf Amazon.co.jp ウィジェット Bass Manuvasの報道 gnewプラグインエラー「Bass Manuvas」は見つからないか、接続エラーです。 Bass Manuvasとは Bass Manuvasの39%は気の迷いで出来ています。Bass Manuvasの31%は保存料で出来ています。Bass Manuvasの23%は知恵で出来ています。Bass Manuvasの4%はむなしさで出来ています。Bass Manuvasの1%はミスリルで出来ています。Bass Manuvasの1%は苦労で出来ています。Bass Manuvasの1%は波動で出来ています。 Bass Manuvas@ウィキペディア Bass Manuvas Amazon.co.jp ウィジェット 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ Bass Manuvas このページについて このページはBass Manuvasのインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新されるBass Manuvasに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/playerlist/pages/49.html
CN HN てきとー ◆kosuVAbYdQ アイコン色 追加アイコン 初参加番地 ~ 2chMST身内専用村 ~ 13127番地 HN一覧 ◆kosuVAbYdQ てきとー ◆kosuVAbYdQ おすすめログ
https://w.atwiki.jp/bbh2008beya/pages/47.html
BBH2008PUV SPカード 埼玉西武 オリックス 日本ハム ロッテ 楽天 ソフトバンク 巨人 阪神 中日 広島 ヤクルト 横浜 埼玉西武 西武 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S001 岸 孝之 先発 右 右 15 14 13 15 13 70 カーブ4 スライダー3 チェンジU1 3 2 3 3 4 3 3 4 3 3 C08S002 星野 智樹 中継 左 左 11 16 16 12 14 69 スライダー4 シュート1 スクリュー1 カーブ1 4 4 3 3 4 2 3 3 4 2 C08S003 片岡 易之 二塁 右 右 11 16 19 12 16 74 二遊B 内野安打 固め打ち 4 3 3 4 2 3 4 3 3 1 C08S004 中村 剛也 三塁 右 右 19 12 12 15 10 68 一三D アーティスト 初球 連発 3 3 2 2 5 2 3 3 3 1 オリックス オリックス 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S005 加藤 大輔 抑え 右 右 17 14 14 12 13 70 ナックルC4 スライダー2 SFF1 3 2 3 3 4 4 4 4 2 4 C08S006 小松 聖 先発 右 右 14 13 16 15 13 71 フォーク3 スライダー2 カーブ1 3 3 3 3 3 3 3 3 3 3 C08S007 近藤 一樹 先発 右 右 14 11 14 14 13 66 チェンジU2 カーブ2 スライダー1 シュート1 牽制 3 3 3 3 2 3 3 3 3 3 C08S008 カブレラ 一塁 右 右 18 16 10 14 10 68 一E 威圧感 パワーヒッター 広角打法 初球 体当たり 4 3 1 2 5 3 3 3 3 1 日本ハム 日本ハム 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S009 スウィーニー 先発 右 右 12 13 14 15 12 66 カーブ3 カットF1 チェンジU1 勝負運 3 3 3 3 3 2 3 4 3 3 C08S010 田中 賢介 二塁 右 左 13 16 17 13 16 75 二B 三遊E チャンスメーカー 逆境 流し打ち 内野安打 固め打ち 3 2 4 4 3 3 3 3 3 1 C08S011 スレッジ 左翼 左 左 15 15 11 11 11 63 一左D 初球 4 3 1 1 4 2 3 3 3 1 C08S012 稲葉 篤紀 右翼 左 左 15 16 16 17 16 80 右B 左中C 威圧感 ラインドライブ 逆境 初球 3 2 1 2 4 4 4 4 3 1 ロッテ ロッテ 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S013 荻野 忠寛 抑え 右 右 13 16 14 13 14 70 ドロップ4 カットF1 SFF1 3 3 3 2 4 3 4 3 3 3 C08S014 清水 直行 先発 右 右 14 15 15 16 13 73 オリジナル4 SFF2 シュート1 カーブ1 3 3 2 3 4 2 3 3 3 3 C08S015 今江 敏晃 三塁 右 右 13 16 14 15 16 74 三B 二E チャンスメーカー 初球 3 3 3 2 3 3 3 3 3 1 C08S016 大松 尚逸 左翼 左 左 15 13 12 14 14 68 左C 中右D 逆境 サヨナラ 満塁 3 3 2 2 4 2 3 2 3 1 楽天 楽天 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S017 田中 将大 先発 右 右 16 13 16 17 13 75 オリジナル3 Hスライダー1 カーブ1 勝負運 3 3 4 4 3 3 2 4 2 4 C08S018 有銘 兼久 中継 左 左 13 17 15 14 13 72 スライダー4 カーブ1 フォーク1 シュート1 3 4 3 3 4 1 4 3 3 3 C08S019 山崎 武司 一塁 右 右 16 16 9 11 9 61 一E アーティスト 初球 連発 3 3 1 2 4 2 3 2 2 1 C08S020 リック 一塁 右 右 13 18 13 13 11 68 一三左D 二遊E アベレージヒッター チャンスメーカー 内野安打 初球 固め打ち 体当たり 3 4 2 2 2 2 3 2 4 1 ソフトバンク ソフトバンク 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S021 大隣 憲司 先発 左 左 17 10 14 17 12 70 スライダー1 オリジナル1 サークルC1 チェンジU1 3 3 3 3 2 4 2 3 3 4 C08S022 松中 信彦 一塁 左 左 16 17 10 12 10 65 一左D 威圧感 アーティスト 内野安打 スライディング 3 3 1 2 4 2 3 3 3 1 C08S023 本多 雄一 二塁 右 左 11 15 18 12 15 71 二B 流し打ち 内野安打 初球 3 3 2 4 1 3 3 3 3 1 C08S024 川崎 宗則 遊撃 右 左 11 16 16 14 15 72 遊B 三C 二D チャンスメーカー サヨナラ 流し打ち 内野安打 初球 固め打ち 3 3 3 3 1 3 4 3 4 1 巨人 巨人 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S025 グライシンガー 先発 右 右 14 16 18 15 12 75 サークルC4 シュート1 スライダー1 カーブ1 牽制 打球反応 3 3 3 3 4 2 3 4 3 3 C08S026 クルーン 抑え 右 右 19 13 14 12 12 70 フォーク3 Sカーブ3 Hスライダー1 シュート1 球速安定 3 3 3 3 3 3 3 3 3 5 C08S027 小笠原 道大 三塁 右 左 18 16 10 13 12 69 一C 三D ラインドライブ 威圧感 初球 3 2 1 1 4 3 3 3 4 1 C08S028 鈴木 尚広 中堅 右 両 11 14 19 11 14 69 外全C スライディング 初回先頭打者HR 3 3 2 4 1 3 4 3 3 1 阪神 阪神 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S029 藤川 球児 抑え 右 左 18 13 16 13 15 75 カーブ3 SFF2 スライダー1 威圧感 剛球 3 3 3 3 3 5 3 4 3 4 C08S030 鳥谷 敬 遊撃 右 左 13 15 17 17 14 76 遊C 三D 内野安打 満塁 3 3 3 2 3 3 4 4 3 1 C08S031 関本 賢太郎 三塁 右 右 12 15 13 12 14 66 二三C 一D 遊E 満塁 4 3 4 2 2 4 3 3 3 1 C08S032 赤星 憲広 中堅 右 左 11 16 19 13 17 76 中A 左右B チャンスメーカー 流し打ち 内野安打 3 3 3 4 1 4 5 4 3 1 中日 中日 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S033 岩瀬 仁紀 抑え 左 左 14 16 18 11 15 74 Hスライダー4 シュート1 スクリュー1 威圧感 打球反応 3 4 3 3 4 4 4 4 4 3 C08S034 荒木 雅博 二塁 右 右 11 14 19 13 17 74 二B 中C 遊D 流し打ち スライディング 3 4 3 4 1 3 5 3 3 1 C08S035 森野 将彦 三塁 右 左 15 16 11 13 14 69 三C 二遊外全D 一E 3 3 2 1 3 2 3 3 3 1 C08S036 和田 一浩 左翼 右 右 14 17 11 15 11 68 左D 中右E サヨナラ 満塁 初球 3 3 1 2 4 3 3 3 3 1 広島 広島 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S037 永川 勝浩 抑え 右 右 17 16 11 12 11 67 フォーク4 スライダー1 Sカーブ1 威圧感 4 5 3 4 4 4 2 4 4 4 C08S038 梅津 智弘 中継 右 右 13 10 15 11 11 60 スライダー2 カーブ1 シンカー1 シュート1 3 3 3 3 2 2 3 3 3 3 C08S039 東出 輝裕 二塁 右 左 11 18 18 15 16 78 二B 遊D チャンスメーカー 流し打ち 内野安打 3 3 4 3 1 2 3 3 3 1 C08S040 栗原 健太 一塁 右 右 15 18 13 12 12 70 一三D 外全E アベレージヒッター 流し打ち 初球 3 3 2 3 4 3 3 3 3 1 ヤクルト ヤクルト 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S041 石川 雅規 先発 左 左 13 16 16 15 15 75 オリジナル3 スクリュー3 カットF1 カーブ1 牽制 打球反応 3 3 3 3 4 3 4 3 2 3 C08S042 松岡 健一 中継 右 右 16 10 14 13 11 64 フォーク2 スライダー1 ドロップ1 シュート1 4 3 2 3 2 3 3 3 3 4 C08S043 館山 昌平 先発 右 右 17 13 16 13 14 73 スライダー2 フォーク2 シュート2 シンカー1 カーブ1 打球反応 3 3 3 3 3 4 3 3 3 4 C08S044 青木 宣親 中堅 右 左 14 17 19 14 15 79 中B 左右C アベレージヒッター チャンスメーカー 流し打ち 内野安打 初球 3 3 2 4 3 3 3 4 3 1 横浜 横浜 投手の場合 投 打 球 変 コ ス 守 計 球種 スキル ピ 左 強 ラ キ ノ ク 疲 安 速 カードNo 選手名 POS 投 打 P M 走 送 守 計 守備適性 スキル チ 左 バ 盗 弾 エ 走 送 安 捕 C08S045 石井 裕也 中継 左 左 14 13 13 13 13 66 スライダー3 スクリュー2 カーブ1 チェンジアップ1 3 3 3 3 3 2 3 3 3 3 C08S046 寺原 隼人 抑え 右 右 17 11 16 13 12 69 カーブ2 スライダー1 フォーク1 サークルチェンジ1 シュート1 球速安定 2 3 3 3 2 4 3 3 3 4 C08S047 村田 修一 三塁 右 右 19 16 11 15 11 72 三D パワーヒッター チャンスメーカー 初球 連発 3 3 1 1 4 2 3 2 3 1 C08S048 吉村 裕基 右翼 右 右 17 14 15 16 11 73 右D 一左中E パワーヒッター 3 3 2 3 4 2 3 3 2 1
https://w.atwiki.jp/mtg2384/pages/1158.html
autolink ヴェズーヴァ/Vesuva 土地 あなたは、ヴェズーヴァが戦場に出ているいずれかの土地のコピーとしてタップ状態で戦場に出ることを選んでもよい。 《ヴェズーヴァ/Vesuva》をGathererで確認 《ヴェズーヴァ/Vesuva》をGoogleで検索 《ヴェズーヴァ/Vesuva》が使用された大会 取得中です。 カードテキスト転載元:Wisdom Guild様 2011 / 10 / 30
https://w.atwiki.jp/satoschi/pages/4402.html
ルヴァレ語 |Niger-Congo languages|Atlantic-Congo languages|Volta-Congo languages|Benue-Congo languages|Bantoid languages|Southern Bantoid languages||Narrow Bantu languages|Central Narrow Bantu languages|Central Narrow Bantu K languages| 言語類型 現用言語 使用文字 ラテン文字【Latn?】 type living language writing system Latin alphabet ISO 639-3 【lue】 言語名別称 alternate names Chiluvale Lovale Lubale Luena ルエナ語 Lwena ルウェナ語 方言名 dialect names 参考文献 references WEB ISO 639-3 Registration Authority - SIL International the LINGUIST List Ethnologue
https://w.atwiki.jp/jainastudies/pages/34.html
ここでは、これまでに積み重ねられてきた研究の中から、『ウヴァーサガダサーオー』についての研究情報を、紹介します。 ★ひとまずは年代順に並べます。 2008-06-05 23 56 10 (Thu) D.G.Vedia, The Dreadful Deterrents to the Jain Upaasakas in the Uvaasagadasaao. in K.R.Chandra (ed.), Seminar on Jaina Agama, Ahmedabad, 1992, pp.55-63. (←在家信者に信仰迫害をする神や夜叉についてまとめたもの) M.D.Vasantharaj, A Comparative and Critical Note on [the] Uvaasagadasaao and [the] Ratna-kara.n.daka-;sraavakaacaara. in K.R.Chandra (ed.), Seminar on Jaina Agama, Ahmedabad, 1992, pp.64-67. (←サマンタバドラは Uvaasagadasaao とは異なるソースに基づいて Ratna~を執筆したのだろう、というような話) S.N.Ghosal, Women as Depicted in the Uvaasagadasaao. in Journal of the Oriental Institute (Baroda) 32-1/2 (1982), pp.64-69. S.N.Ghosal, The Reconversion of Saddaala-putta and the Retreat of Ma nkhaliputta Gosaala. in Journal of the Oriental Institute (Baroda) 31-1 (1981), pp.36-40. S.N.Ghosal, Self-Immolation as an Expedient for Emancipation as Revealed in the Uvaasagadasaao. in Sambodhi 7 (1978-79), pp.107-113. S.N.Ghosal, Intimidation of the Jaina Lay Worshippers in the Uvaasagadasaao. in Journal of the Oriental Institute (Baroda) 24-1/2 (1974), pp.105-109. 奥田 清明「原始ジャイナ教における在家の宗教生活」in 『印度学仏教学研究』14-2 (1966), pp.142-143.
https://w.atwiki.jp/c21coterie/pages/663.html
UVa問題日本語意訳100~110 UVaオンラインジャッジの個人による非公式意訳です。 英語が出来ない人のために翻訳しております。 公式から抗議があった場合このページは即座に消す予定です。 抗議はこちらへお願いします。 sinapusu2002@yahoo.co.jp UVa 100 - The 3n + 1 problem http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=36 数字nに対して以下のような操作を繰りかえすと最終的に1になる。 nが2の倍数ならn=n/2 それ以外ならn=3n+1 である。 入力として範囲i,jが与えられる. i =n =jの範囲のどれか一つでnを始めた時、上記操作を繰り返して1になるまでの数列の長さはそれぞれ違うが、この中でもっとも長くなる場合の長さを答えよ。 j =n =iである場合もあるので注意せよ。 入力が 4 2 なら n=2で始めた時数列は 2,1 n=3で始めた時数列は 3,10,5,16,8,4,2,1 n=4で始めた時数列は 4,2,1 で3から始めた場合の長さ8が答えとなるので 答えは入力で与えられた範囲4と2それと答えである8を合わせて 4 2 8を一行に出力せよ。 入力の終わりはEOFで与えられる。 入出力の詳細は原文を参照すること。 UVa 101 - The Blocks Problem http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=37 0からn-1までの地点にブロック一つずつが入っている。 初期状態では0の地点に0のラベルが貼られたブロックが、1の地点には1のラベルが張られたブロックが、、、n-1の地点にはn-1のラベルの張られたブロックが入っている。 アームロボットがこれらのブロックを移動した。 ロボットに与えられた命令が与えられるので移動後のブロックの状態を出力せよという問題。 命令は以下の4種類である ブロックは地点の上で垂直に積み上げていくものとする。 move a onto b aのブロックがある山でaが出てくるまでブロックを取り除く。 取り除いたブロックはブロックのラベル番号と同じ地点に移動する。 bのブロックがある山でも同様の操作を行い。 その後aの上にbをのせよ。 move a over b 現在bのブロックがある山の上にaを追加せよ。 aの地点があった場所はaが出てくるまでブロックを取り除き、取り除いたブロックはブロックのラベル番号と同じ地点に置くこと。 pile a over b aとaの上に乗ってるブロック全てをbのラベルの貼られたブロックのある山の上にのっけよ。 pile a onto b bのブロックのある山でまずbがでてくるまでブロックを上から順に取り除き、取り除いたブロックはブロックのラベル番号と同じ場所に置くこと。 後はaとaの上に乗っているブロックすべてをbの上に乗っけよ。 入力は最初のnは地点の数。 その後命令が与えられる。 命令の終わりはquitで与えられる。 出力は 地点番号 その地点に乗ってるブロックを下から表示。 、、、 として表示する。 詳しくは原文のサンプルデータを参照すること。 UVa 102 - Ecological Bin Packing http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=38 一つのデータセットが一行で与えられる問題。 3つの箱に3色のビンが入っている。 第一の箱のデータは最初の3つの数字で青(B)、緑(G)、透明色(C)のビンの数。 第2の箱のデータは4個目から~6個目までの数字で青、緑、透明色のビンの数。 第3の箱のデータは7~9個目までの数字で青、緑、透明色のビンの数が与えられる。 一つのビンを手に取り別の箱に入れる作業を1回の操作と定義する。 どの箱も同じ色の瓶しか入ってないようにビンの入れ替え作業をした時最小の操作回数は何回になるか答えよ。 答えは一つ目、2つ目、3つ目の箱を何色のビンを集めることに決めたかのBGCの組み合わせと、最小の操作回数を一行に出力せよ。 何通りか答えがあるならBGCがアルファベット順になる物が優先される。 UVa103 - Stacking Boxes http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=39 小さなボックスを大きなボックスの中にいれてその大きなボックスをより大きなボックスにいれていく作業を繰り返していく。 この時もっともたくさんボックスが入れ子になる入れ方をどれか一つ答えよ。 入力はボックスの数nと次元数dが最初の行に与えられる。 その後ボックスの各辺の長さがn行与えられる。 ボックスはd次元直方体として与えられる。 例えば次元数が3次元ならボックスの縦横高さの3つの長さが与えられる。 ボックス回転してもよいがどのボックスも必ず回転後、全ての辺がどれかの次元の軸と平行にならなくてはいけない。 例えば3次元ならどのへんもX軸、Y軸、Z軸のどれかと平行になる回転しか許されない。 入力例 4 2 5 3 2 4 6 6 1 9 なら 2 4の長方形を、5 3の長方形の中に入れ5 3 の長方形を6 6の中に入れればよいので答えは 3 2 1 3 となる。 これは2番目の箱を1番目の箱に入れ、1番目の箱を3番目の箱に入れて箱は3重入れ子になったということを表している。 答え候補が複数ある場合はどれを出力しても良い。 入れる場合箱の辺は必ず大きくなくてはいけない。 例えば入力データが以下のようなものなら 2 2 1 3 2 3 だと3と3が同じ長さであるために(2 3)の箱に入れることが出来ない点に注意が必要。 箱の数は最大30、次元は10次元までとなる。 UVa 104 - Arbitrage http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=40 通貨売買を行って利益を得る問題。 通貨の種類n<=20までと通貨の交換レートの表が与えられる。 表は同じ通貨同士の交換は歯抜けで与えられる。 同じ通貨同士の交換はレート1として仮定される。 通貨の交換レートが 1.0 0.8 1.2 0.9 1.0 0.8 1.3 1.2 1.0 なら表は対角線上の数字が消えた 3 0.8 1.2 0.9 0.8 1.3 1.2 が実際に与えられる表となる。 どれかの通貨から開始してレートに従って通貨を交換していき(手数料は取られないとする)最終的に最初の通貨に戻ったとき利益が1%以上になる交換手順を求めたい。 通貨の交換回数が最小かつn回以下の交換でこの条件を満たすものがあれば交換した通貨の順番を表示せよ。 条件を満たす答えが複数あるならどの答えを出力しても良い。 できない場合はno arbitrage sequence existsと1行に表示せよ。 通貨は交換表の上から1番、2番、、、n番と設定されている。 答えは通貨の交換手順で表示する。 2 3 4 3 4 2 なら通貨2から初めて通貨3に交換し、それを4に交換し3に戻しまた4に交換し最終的に2に戻ってきたことをあらわす。 UVa 105 - The Skyline Problem http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=41 平面上にy=0を床としてその上に長方形がえがかれている。 一番xの値が小さい方から見ていきその地点での一番高い長方形の位置に変化があった場所を順番に出力せよ。 解説するよりも図をみた方が問題です。 1 5 11 というデータがあればx範囲1~11までの範囲に高さ5の長方形が置かれているとなります。 1 5 11 3 7 10 なら 1 5 3 7 10 5 11 0 と出力する。 これは1の地点で高さが5になり、3の地点で高さが7と変化し、10の地点で高さが5になり、11の地点で高さが0になったとします。 長方形は重なっても良いとします。 106 - Fermat vs. Pythagoras http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=42 数字nが与えられるので。 x^2+y^2=z^2,z =nをみたす原始ピタゴラス数の組の数と。 原始ピタゴラス数でないピタゴラス数も考えた時z =nとなるピタゴラス数の組に出てこない数の個数を答えよ。 例えば 10 入力されたら 1 4と答える。 これは z =10となる原始ピタゴラス数は(3,4,5)の一種類だけなので1、原始でないピタゴラス数も考えると(6,8,10)。 z =10以下のピタゴラス数の組ででて来る数は3,4,5,6,8,10 でてこない数は1,2,7,9の4種類なので答えが1 4となるわけである。 107 - The Cat in the Hat http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=43 猫の帽子の中に小さなr匹の猫がいて、r匹の猫それぞれの帽子の中にも同じくそれより小さなr匹の猫がいてこれが連鎖する。 猫の中の猫の関係はr分木となる。 この連鎖において一番奥の帽子にいる一番小さな猫のサイズは必ず1で終了する。 猫を帽子にいれている猫は、帽子の中の猫より必ずr+1倍大きいという規則がある。 一番大きな猫のサイズと、一番小さなサイズ1の猫の数が一行に与えられるので一番小さな猫以外の猫の数と全猫のサイズの合計を答えよ。 108 - Maximum Sum http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=44 入力の一行目はnでn*nのマス目が与えられる。 その後n*nマスのマス目に入ってる数字が左上から順に与えられていく。 マス目を適当な長方形で囲み、長方形内の数字の合計が最も大きくなるように囲んだときの長方形内の合計値を答えよ。 109 SCUD Busters http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 category=3 page=show_problem problem=45 平面上に複数の国がありどの国内にも発電施設がある。 国は外壁で囲まれすべての施設を含む最小の長さの外壁で囲まれている。 外壁は太さ0で国と国は重ならない仮定してよい。 インプットデータは国の施設の数nが与えられ、その後その国施設の座標n個が整数で与えられてこれが複数回続く。 -1が施設データの入力の終わりを示す。 続いて降り注ぐミサイルの着弾座標が与えられる。 ミサイルが国内に降り注いだ国はどこに着弾しても停電してしまう。 外壁に降り注いだ場合も停電すると仮定してよい。 ミサイルの入力終了はEOFとなる。 全ミサイル着弾後。 停電した国の面積の総計を小数点以下2桁までで答えよ。 110 - Meta-Loopless Sorts http //uva.onlinejudge.org/index.php?option=com_onlinejudge Itemid=8 page=show_problem problem=46 m個の数字の変数を読み込み、小さい順にソートした結果を返すphytonプログラムを自動生成したい。 ただし生成されるコードで使っていい命令は if,else if,else,readln,writelnそれと (比較演算子)だけである。 使っていい変数はa,b,c,d,e,f,g,hだけとなる。 最初にデータセットの数nが与えられる。 そのあとにn個データセットが続く。 データセットの中身は変数の数1 =m =8一つだけであり一行ずつ与えられる。 mにあったohytonコードを生成するプログラムを書くこと。 答えの間には一行間隔を空けること。 m=3ならa,b,cに数字を順番に読み込み、 m=4ならa,b,c,dに数字を順番に読み込みソートできる処理を書くこと。 出力しなくてはいけないのはphytonコードとなる。 例えばインプットが 2 2 3 なら 答えの例 program sort(input,output); var a,b integer; begin readln(a,b); if a b then writeln(a,b) else writeln(b,a) end. program sort(input,output); var a,b,c integer; begin readln(a,b,c); if a b then if b c then writeln(a,b,c) else if a c then writeln(a,c,b) else writeln(c,a,b) else if a c then writeln(b,a,c) else if b c then writeln(b,c,a) else writeln(c,b,a) end. となる、答えはコードそのものである。