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 最小点覆盖等于二分图最大匹配数

Problem E. Matrix from Arrays(杭电2018年多校第四场+思维+打表找循环节)

HDU6315 Naive Operations(多校第二场1007)(线段树)