BZOJ3517 翻硬币

Luogu
IDLGP10635
Time1000ms
Memory512MB
DifficultyP6
O2优化Ad-hoc
有一个 $n$ 行 $n$ 列的棋盘,每个格子上都有一个硬币,且 $n$ 为偶数。每个硬币要么是正面朝上,要么是反面朝上。每次操作你可以选定一个格子 $(x,y)$,然后将第 $x$ 行和第 $y$ 列的所有硬币都翻面。求将所有硬币都变成同一个面最少需要的操作数。 ## Input 第一行包含一个正整数 $n$。接下来 $n$ 行,每行包含一个长度为 $n$ 的 $01$ 字符串,表示棋盘上硬币的状态。 ## Output 仅包含一行,为最少需要的操作数。 [samples] ## Note **【样例解释】** 对 $(2,3)$ 和 $(3,1)$ 进行操作,最后全变成 $1$。 **【数据范围】** 对于所有数据,$1\leq n \leq 1000$。
Samples
Input #1
4
0101
1000
0010
0101
Output #1
2
API Response (JSON)
{
  "problem": {
    "name": "BZOJ3517 翻硬币",
    "description": {
      "content": "有一个 $n$ 行 $n$ 列的棋盘,每个格子上都有一个硬币,且 $n$ 为偶数。每个硬币要么是正面朝上,要么是反面朝上。每次操作你可以选定一个格子 $(x,y)$,然后将第 $x$ 行和第 $y$ 列的所有硬币都翻面。求将所有硬币都变成同一个面最少需要的操作数。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10635"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "有一个 $n$ 行 $n$ 列的棋盘,每个格子上都有一个硬币,且 $n$ 为偶数。每个硬币要么是正面朝上,要么是反面朝上。每次操作你可以选定一个格子 $(x,y)$,然后将第 $x$ 行和第 $y$ 列的所有硬币都翻面。求将所有硬币都变成同一个面最少需要的操作数。\n\n## Input\n\n第一行包含一个正整数 $n$。接下来 $n$ 行,每行包含一个长度为 $n$ 的 $01$ 字符串,表示棋盘上硬...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments