annoying.java

来自「Ulm大学2007年竞赛题和解题报告」· Java 代码 · 共 43 行

JAVA
43
字号
// Author: Adrian Kuegelimport java.io.*;import java.util.*;public class annoying {	public static void main(String [] args) throws Exception {		BufferedReader in = new BufferedReader(new FileReader("annoying.in"));		String line;		while((line = in.readLine()) != null) {			StringTokenizer strtok = new StringTokenizer(line);			int n = Integer.parseInt(strtok.nextToken());			int m = Integer.parseInt(strtok.nextToken());			int r = Integer.parseInt(strtok.nextToken());			int c = Integer.parseInt(strtok.nextToken());			if (n == 0 && m == 0 && r == 0 && c == 0)				break;			char [][] p = new char[n][m];			for (int i=0; i<n; ++i) {				line = in.readLine();				p[i] = line.toCharArray();				for (int j=0; j<m; ++j)					p[i][j] -= '0';			}			int cnt = 0;			for (int i=0; i+r<=n; ++i)				for (int j=0; j+c<=m; ++j) {					if (p[i][j] == 0)						continue;					++cnt;					for (int ii=0; ii<r; ++ii)						for (int jj=0; jj<c; ++jj)							p[i+ii][j+jj] ^= 1;				}			for (int i=0; i<n; ++i)				for (int j=0; j<m; ++j)					if (p[i][j] != 0)						cnt = -1;			System.out.println(cnt);		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?