Gym100971B Gym100971C Gym100971F Gym100971G Gym100971K Gym100971L(都是好写的题。。。) IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13, 2016

昨天训练打的Gym,今天写题解。

Gym100971B Gym100971C Gym100971F Gym100971G Gym100971K Gym100971L(都是好写的题。。。)   IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13, 2016

这个题就是输出的时候有点小问题,其他的都很简单。

代码:

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=1e6+;
int a[N];
int main(){
int n;
while(~scanf("%d",&n)){
int num=;
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
if(a[i]==i)num++;
}
if(num%==)cout<<num/<<endl;
else cout<<num/+<<endl;
int ans=;
int temp;
for(int i=;i<=n;i++){
if(a[i]==i){
ans++;
if(ans==){
printf("%d %d\n",temp,i);
swap(a[temp],a[i]);
ans=;
}
else temp=i;
}
}
if(num%!=){
for(int i=;i<=n;i++){
if(a[i]!=i){
printf("%d %d\n",i,temp);
break;
}
}
}
}
return ;
}
上一篇:python网络爬虫学习笔记


下一篇:jquery+thinkphp实现跨域抓取数据的方法