CodeForces 814B An express train to reveries
来源:互联网 发布:王珊数据库视频教程 编辑:程序博客网 时间:2024/05/20 20:56
题目链接:http://codeforces.com/contest/814/problem/B
题意:给你两个长度为n的序列a,b,让你求一个序列p,他满足,和a有一个元素不同,和b有一个元素不同,且是n的全排列,让你输入任意一种满足题意的序列p
解析:首先有两种情况,a和b有一个不同,那么那一个不同的应该就是n个元素里除去n-1个相同的剩下的,第二种情况就是a和b有两个不同,那么这两个位置就有两种情况,那么你把这两种情况都试一下就可以了(代码有点丑
#include <bits/stdc++.h>using namespace std;const int maxn = 1005;int a[maxn];int b[maxn];int c[maxn];int vis[maxn];int main(void){ int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) scanf("%d",&b[i]); memset(vis,0,sizeof(vis)); vector<int>tmp; int cnt = 0; for(int i=0;i<n;i++) { if(a[i]==b[i]) { c[i] = a[i]; vis[a[i]] = 1; } else { cnt++; tmp.push_back(i); } } if(cnt==1) { for(int i=0;i<n;i++) { if(c[i]==0) { for(int j=1;j<=n;j++) { if(vis[j]==0) { c[i] = j; break; } } break; } } } else { int cnt1 = 0,cnt2 = 0; for(int i=1;i<=n;i++) { if(!vis[i]) tmp.push_back(i); } c[tmp[0]] = tmp[2],c[tmp[1]] = tmp[3]; for(int i=0;i<n;i++) { if(a[i]!=c[i]) cnt1++; if(b[i]!=c[i]) cnt2++; } if(cnt1==cnt2 && cnt1==1); else c[tmp[0]] = tmp[3],c[tmp[1]] = tmp[2]; } for(int i=0;i<n;i++) printf("%d ",c[i]); puts(""); return 0;}
阅读全文
0 0
- codeforces B. An express train to reveries
- 【Codeforces 814 B. An express train to reveries】+ 构造
- codeforces 814B An express train to reveries
- codeforces 814B An express train to reveries
- codeforces 814B An express train to reveries(思维)
- Codeforces 814B-An express train to reveries
- Codeforces 814 B An express train to reveries
- codeforces 814 B An express train to reveries
- CodeForces 814B An express train to reveries
- codeforces An express train to reveries 814B
- CodeForces-814B An express train to reveries 解题报告
- 814/ B. An express train to reveries
- Codeforces Round #418 B--An express train to reveries
- An express train to reveries CodeForces
- B. An express train to reveries
- An express train to reveries
- An express train to reveries
- An express train to reveries
- JVM编译优化
- android布局优化之<include>标签的使用
- 串口通讯项目
- 欢迎使用CSDN-markdown编辑器
- Spark中External Datasource实现数据迁移
- CodeForces 814B An express train to reveries
- linux Xinetd服务简介
- JSP/Servlet
- python学习笔记
- KMP算法
- 线程整理
- CoordinatorLayout实现View动画交互的研究(16/04/18)
- nfs
- LeetCode