tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

Member SRM 494

なぜか死ななかった。予想通りSimulationで勝てた。*1

250: にーすのちーむ
BWでごちゃごちゃ。どのくらいのペンだとこの絵がかけますか?
やるだけ(O(n^5)で通るサイズ)。ちょっとしか面倒じゃない。いい問題。

public class Painting{
	public int largestBrush(String []a){
		boolean table[][]=new boolean[a.length][a[0].length()];
		int ans=0;
		int b=a[0].length();
		for(int i=0;i<a.length;i++)
			for(int j=0;j<b;j++)
				table[i][j]=false;
		for(int i=1;i<=Math.min(a.length,b);i++){
			for(int k=0;k<a.length;k++)
				for(int j=0;j<b;j++)
					table[k][j]=false;
			for(int j=0;j<a.length-i+1;j++){
				for(int k=0;k<b-i+1;k++){
					boolean ok=true;
					for(int l=0;l<i;l++){
						for(int m=0;m<i;m++){
							if(a[l+j].charAt(k+m)=='W'){
								ok=false;
								break;
							}
						}
						if(!ok)break;
					}
					if(ok){
						for(int l=0;l<i;l++)
							for(int m=0;m<i;m++)
								table[j+l][k+m]=true;
					}
				}
			}
			boolean ret=true;
			for(int j=0;j<a.length;j++)
				for(int k=0;k<b;k++){
					if(a[j].charAt(k)=='B'&&!table[j][k])ret=false;
				}
			if(ret)ans=i;
			else return ans;
		}
		return ans;
	}
}

500:木をたおす。
また木。データ構造じゃないほうの木。いつしかと同じで、木をたおしていく。
DPじゃないの? って思ったけど実装量が多すぎて組む気がなくなった。バグもあったし。
正攻法はもっと楽らしい。近似解がどうとか? よくわからん

1000:何かも呼んでない
長文は苦手なのでそもそも把握してません どうせ解けないので

Challenge Phase:
最近だめだなあ

System Test:
とおった

Result:
oxx 217.12 204位
Rating: 1429 -> 1532 (+103)

順位は過去最高だしいいんじゃないかな。一応また黄色に復帰。
実はMarathonのレーティングも1532です。もう出るかどうか分からないけど

また解かないとですね。AOJもあきたしこっちをまたやります。というかグラフはどこに沢山問題おいてあるんですか

*1:最近極端にMathがおおかったので。StarShipはGCDゲーで数学だし、木切るのは明らかに数学だし(EPSがいちばんむずかしいが)、石並べ替えはパズルだし、もうそろそろSimulationでてもおかしくない気がした。