题目链接:http://codeforces.com/problemset/problem/1006/A
题意
给定一个长度为n数组,按顺序执行所给操作,直至数组中的数据不再改变。
1-->2 , 2-->1;
3-->4 , 4-->3;
5-->6 , 6-->5;
...
1e+9 - 1 -->1e+9 , 1e+9 -->1e+9 - 1;
求执行上述操做后的数组。
题解
细心观察样例后会发现数据特点:偶数不变,奇数减一。
- AC Code
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; int a[1005]; int main() { int n; cin>> n; for(int i=1; i<=n; i++) { cin>> a[i]; if(a[i]%2==0) a[i] = a[i] - 1; //偶数减一,奇数不变 else continue; } for(int i=1; i<=n; i++) { if(i==1) printf("%d",a[i]); else printf(" %d",a[i]); } printf("\n"); return 0; }