#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a[200010],x[100010];
int m,n,i,j=1;
for(i=1;i<200010;i++)
a[i]=i; //将1到200009保存到数组a中
for(i=1;i<=100010;i++)
{
if(a[i]) //若a[i]未访问过,执行以下语句
{
x[j]=a[i]; //将第一个未访问过的数赋给x[j]
a[x[j]]=0; //将a[x[j]]的状态改为已访问过
a[x[j]+j]=0;//将a[x[j]+j]的状态改为已访问过
j++;
}
}
scanf("%d",&m);
while(m--)
{
scanf("%d",&n);
printf("%d %d\n",x[n],x[n]+n);
}
return 0;
}
nyoj 453 小珂的苦恼
最新推荐文章于 2018-05-09 10:36:05 发布