题目名称 | 1205. 多米诺骨牌 |
---|---|
输入输出 | dom.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | 王者自由 于2012-10-23加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:65, 提交:180, 通过率:36.11% | ||||
铁桶僵尸 | 100 | 0.019 s | 0.29 MiB | C++ |
smart0326 | 100 | 0.019 s | 0.34 MiB | C++ |
铁桶僵尸 | 100 | 0.020 s | 0.29 MiB | C++ |
紫葉 | 100 | 0.024 s | 0.38 MiB | C++ |
Moha | 100 | 0.025 s | 0.38 MiB | C++ |
1020 | 100 | 0.029 s | 1.31 MiB | C++ |
nsnsjsjjs | 100 | 0.030 s | 0.37 MiB | C++ |
nsnsjsjjs | 100 | 0.030 s | 0.37 MiB | C++ |
铁桶僵尸 | 100 | 0.031 s | 0.37 MiB | C++ |
KD35OKC | 100 | 0.032 s | 0.40 MiB | C++ |
关于 多米诺骨牌 的近10条评论(全部评论) | ||||
---|---|---|---|---|
我弱
Rapiz
2016-11-23 17:00
14楼
| ||||
回复 @Ezio :
同意
Sky_miner
2016-10-10 15:13
13楼
| ||||
神奇
521
2016-05-28 21:39
12楼
| ||||
不知道为什么,反正使用队列就会超时+爆E。
| ||||
写了半天发现搞错了方程QAQ果然蒟蒻还是蒟蒻
devil
2015-07-22 10:07
10楼
| ||||
不开O2用map超时2点。。我不管了
| ||||
Ezio
2014-09-24 22:47
8楼
| ||||
凭什么C++没有负下标……
| ||||
吼吼,背包万岁
| ||||
其实,我原来的程序跑4.0秒,雾
自从上了http://paulinsider.at.ua/news/2012-11-01-23,程序的腰不酸了,腿不疼了,一口气跑0.4秒! paulinsider.@at.ua,就是给力! |
多米诺骨牌有上下2个方块组成,每个方块中有$1\sim 6$个点。现有排成行的n个多米诺骨牌如图8-1所示。
编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。上方块中点数之和记为$\sum_1$,下方块中点数之和记为$\sum_2$,它们的差为$|\sum_1-\sum_2|$。例如在图8-1中,$\sum_1=6+1+1+1=9$,$\sum_2=1+5+3+2=11$,$|\sum_1-\sum_2|=2$。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。
对于图8-1中的例子,只要将最后一个多米诺骨牌旋转180°,可使上下2行点数之差为0。
输入文件的第一行是一个正整数$n(1≤n≤1000)$,表示多米诺骨牌数。接下来的$n$行表示$n$个多米诺骨牌的点数。每行有两个用空格隔开的正整数,表示多米诺骨牌上下方块中的点数$a$和$b$,且$1≤a,b≤6$。
输出文件仅一行,包含一个整数。表示求得的最小旋转次数。
4 6 1 1 5 1 3 1 2
1