hdu多校第四场 1007 (hdu6620) Just an Old Puzzle 逆序对
Posted isakovsky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu多校第四场 1007 (hdu6620) Just an Old Puzzle 逆序对相关的知识,希望对你有一定的参考价值。
题意:
给你一个数字拼图,问你数字拼图能否能复原成原来的样子。
题解:
数字拼图的性质是,逆序数奇偶相同时,可以互相转化,逆序数奇偶不同,不能互相转化。
因此统计逆序对即可。
#include<iostream> using namespace std; int main() int t; scanf("%d",&t); while(t--) int a[20]; int kg; for(int i=1;i<=16;i++) scanf("%d",&a[i]); if(a[i]==0)kg=i; while(kg%4) swap(a[kg],a[kg+1]); kg++; while(kg%16) swap(a[kg],a[kg+4]); kg+=4; int nxd=0; for(int i=1;i<15;i++) for(int j=i+1;j<=15;j++) if(a[j]<a[i])nxd++; if(nxd%2==0)printf("Yes\n"); else printf("No\n"); return 0;
以上是关于hdu多校第四场 1007 (hdu6620) Just an Old Puzzle 逆序对的主要内容,如果未能解决你的问题,请参考以下文章
2019杭电多校第四场hdu6621 K-th Closest Distance(二分答案+主席树)
杭电2018多校第四场(2018 Multi-University Training Contest 4) 1005.Problem E. Matrix from Arrays (HDU6336) -
HDU多校第四场1005 Didn‘t I Say to Make My Abilities Average in the Next Life?! 单调栈+莫队
2020杭电多校第四场 Go Running 最小点覆盖等于二分图最大匹配数