CF1458C Latin Square
这里说一下逆排序就是如果说原来位置 i i i 的数是 p i p_i pi 那么现在位置 p i p_i pi 的数就是 i i i。
直接变成三元组 ( i , j , a i , j ) (i, j, a_{i, j}) (i,j,ai,j) 也就是所有有关的信息。
之后直接记录并且修改即可,复杂度是 O ( n 2 + m ) O(n^2 + m) O(n2+m) 的。
#include <bits/stdc++.h>
using namespace std;
//#define Fread
//#define Getmod
#ifdef Fread
char buf[1 << 21], *iS, *iT;
#define gc() (iS == iT ? (iT = (iS = buf) + fread (buf, 1, 1 << 21, stdin), (</