题目
仅以此题纪念爆零的一场。怎么说呢,题目一直读错了,快到结束的时候才正确理解题目的含义,并明白了样例如何得到的。也看出来规律,又或者说没有完全明白规律。所以最终爆零。
知识点的话,大概就是取模吧。
第二次看的时候,重新分析一下题意,就是m个间隔无交集,让你构造出k个间隔,使得k个间隔的交集等于m个间隔的并集。
分析一下,既然是k个间隔的交集,就说明k个间隔是互相都有关系,互相影响的;而且k个间隔中的任意间隔都包含m个间隔的并集,也就是说k中任何一个间隔都受m个间隔的任意一个间隔的影响(因为m个间隔之间无任何交集)。其实就是在m个间隔中提供的数字中寻找答案。但是说实话,即使分析到这样的程度,依旧不一定把这样找规律的题目做出来。
#include <bits/stdc++.h>
using namespace std;
#define T int T; scanf("%d", &T); while(T--)
typedef long long ll;
typedef pair<int, int> P;
const int maxn=1010;
P p[maxn];
int main()
{
T{
int n, m;
scanf("%d%d", &n, &m);
for(int i=0; i<m; i++){
scanf("%d%d", &p[i].first, &p[i].second);
}
printf("%d\n", m);
for(int i=0; i<m; i++){
printf("%d %d\n", p[i].first, p[(i+m-1)%m].second);
}
}
return 0;
}