HDU 6048 - Puzzle | 2017 Multi-University Training Contest 2
2017-07-31 13:07
417 查看
/* HDU 6048 - Puzzle [ 思维,结论 ] | 2017 Multi-University Training Contest 2 题意: 类似华容道的问题, N*M 的矩阵中N*M-1个元素按一定要求打乱,每次可以把一个和空格有公共边的块和空格交换 问能否还原局面:从上到下从左到右,依次填 1,2,3,… 右下角为空。 分析: 结论1:将原矩阵看作从左到右从上到下的数列,任意操作不改变 逆序对数量的奇偶性 结论2:任意局面一定能还原到 除了最右下角2*2方格中的3个数字,剩下的数字全都移到要求位置 结论3:最右下角2*2方格的局面中只有序对数量的奇偶性相同的可互达 最终结论:数列逆序对为偶数则YES,反之为NO 由于每次隔P个拿,故当某轮桌上只有num个数字时,第x+1次取第 xp+1 个,它前面有xp个数字,被拿掉了x个 故对于这一轮的第x+1个数字对逆序对的贡献为 x*(p-1),可以看出是等差数列 */ #include <bits/stdc++.h> using namespace std; int t, n, m, p; int main() { scanf("%d", &t); while (t--) { scanf("%d%d%d", &n, &m, &p); int ans = 0, num = n*m-1; while (num > p) { int x = (num-1)/p; ans += x*(p-1) * (x+1) / 2; num -= x+1; } if (ans&1) puts("NO"); else puts("YES"); } }
题解证明很详细
*更新了代码,原代码TLE- -,num <= p 的时候就要退出。。
相关文章推荐
- HDU 6048 Puzzle(找规律)——2017 Multi-University Training Contest - Team 2
- HDU 6038 Function(找规律)——2017 Multi-University Training Contest - Team 1
- hdu 6047 Maximum Sequence(2017 Multi-University Training Contest - Team 2)
- hdu 6045 Is Derek lying?(2017 Multi-University Training Contest - Team 2)
- HDU_【2017 Multi-University Training Contest 1】———1006 Function
- 2017 Multi-University Training Contest - Team 1 HDU 6035 Colorful Tree
- hdu 6058 Kanade's sum(链表)(2017 Multi-University Training Contest - Team 3 )
- HDU 6059 Kanade's trio(2017 Multi-University Training Contest 3)
- 【2017 Multi-University Training Contest - Team 7 && hdu 6121】Build a tree
- hdu 6069 Counting Divisors(约数个数)(2017 Multi-University Training Contest - Team 4 )
- hdu 6070 Dirt Ratio(二分+线段树)(2017 Multi-University Training Contest - Team 4 )
- hdu 6071 Lazy Running(优先队列+dijkstra)(2017 Multi-University Training Contest - Team 4)
- HDU-6140 Killer Names - 2017 Multi-University Training Contest - Team 8(思维)
- HDU 6068 - Classic Quotation | 2017 Multi-University Training Contest 4
- hdu 6034 Balala Power!(贪心)( 2017 Multi-University Training Contest - Team 1 )(无耻之sort)
- 2017 Multi-University Training Contest 5 &&HDU 6085 Rikka with Candies 【bitset+思维】
- hdu 6040 Hints of sd0061[2017 Multi-University Training Contest - Team 1] [STL]
- hdu 6047 Maximum Sequence(2017 Multi-University Training Contest - Team 2)
- hdu 6045 Is Derek lying?(2017 Multi-University Training Contest - Team 2)
- HDU - 6106 Classes (2017 Multi-University Training Contest - Team 6)