level 1
善良的icerain
楼主
【题目描述】
众所周知,wanglaoju非常喜欢干三件事:造监狱,造监狱和造监狱。这天,他又在进行太阳监狱的建造工作。
他造监狱的过程是这样的:先造一圈围墙,然后把围墙里面全部划为拘留牢房,之后在里面铺满床和马桶。做完这些他就可以把犯人装进来了。当他斟酌着在他那n*m的地皮的哪一块造监狱的时候,他发现了一个非常严重的问题:他的监狱里造满了各种各样奇奇怪怪的东西,使他不知道应该在哪里造新的监狱。而且,他作为一个强迫症,一定要把他的监狱造成正方形。然而,他的下一批犯人快要来了,他们需要一个边长不小于x的拘留牢房来住,否则他们有的人连床都没有,就会很不开心,然后就会发生暴乱。
wanglaoju希望造一个在这块地皮上能造的最大的监狱,又不想拆掉原有的建筑。他没有办法,只能向你求助,希望你能告诉他能造出最大的监狱边长s和所在的区域左上角的坐 标(r, c)(地皮左上角的点为(1, 1))。若有多个答案,输出左上角行坐标最小的一个。若行坐标相同,输出列坐标最小的一个。如果连你也没有办法造出能装下所有犯人的监狱,他就只能在犯人来了之后让武警自由开火来解决暴乱了。
【输入】
输入文件名为 wanglaoju.in。
输入共n+1行,第1行包含3个整数 n、m、x,每两个整数之间用一个空格隔开;
之后n行为地皮的地图,已建造的区域为1,未建造的区域为0。
【输出】
输出文件名为 wanglaoju.out。
输出共1行,若能造出的最大监狱能够装下所有犯人,输出3个整数 s、r、c,每两个整数之间用一个空格隔开;否则,输出“Fire at will!”。
【输入输出样例】
wanglaoju.in wanglaoju.out
4 4 31 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 Fire at will!
【样例解释】
最大区域为以(1, 2)为左上角,边长为2的正方形。最小需求为3,不满足条件。
【数据范围】
对于 50%的数据,1<=n,m<=500
对于 100%的数据,1<= n,m<=1500,1 <= x<=min(n, m)
2017年08月13日 06点08分
1
众所周知,wanglaoju非常喜欢干三件事:造监狱,造监狱和造监狱。这天,他又在进行太阳监狱的建造工作。
他造监狱的过程是这样的:先造一圈围墙,然后把围墙里面全部划为拘留牢房,之后在里面铺满床和马桶。做完这些他就可以把犯人装进来了。当他斟酌着在他那n*m的地皮的哪一块造监狱的时候,他发现了一个非常严重的问题:他的监狱里造满了各种各样奇奇怪怪的东西,使他不知道应该在哪里造新的监狱。而且,他作为一个强迫症,一定要把他的监狱造成正方形。然而,他的下一批犯人快要来了,他们需要一个边长不小于x的拘留牢房来住,否则他们有的人连床都没有,就会很不开心,然后就会发生暴乱。
wanglaoju希望造一个在这块地皮上能造的最大的监狱,又不想拆掉原有的建筑。他没有办法,只能向你求助,希望你能告诉他能造出最大的监狱边长s和所在的区域左上角的坐 标(r, c)(地皮左上角的点为(1, 1))。若有多个答案,输出左上角行坐标最小的一个。若行坐标相同,输出列坐标最小的一个。如果连你也没有办法造出能装下所有犯人的监狱,他就只能在犯人来了之后让武警自由开火来解决暴乱了。
【输入】
输入文件名为 wanglaoju.in。
输入共n+1行,第1行包含3个整数 n、m、x,每两个整数之间用一个空格隔开;
之后n行为地皮的地图,已建造的区域为1,未建造的区域为0。
【输出】
输出文件名为 wanglaoju.out。
输出共1行,若能造出的最大监狱能够装下所有犯人,输出3个整数 s、r、c,每两个整数之间用一个空格隔开;否则,输出“Fire at will!”。
【输入输出样例】
wanglaoju.in wanglaoju.out
4 4 31 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 Fire at will!
【样例解释】
最大区域为以(1, 2)为左上角,边长为2的正方形。最小需求为3,不满足条件。
【数据范围】
对于 50%的数据,1<=n,m<=500
对于 100%的数据,1<= n,m<=1500,1 <= x<=min(n, m)