璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup8838
problems
名称面试
题目编号P8838
题目链接luogu.com.cn/…
来源Luogu
算法分类DFS_枚举
难易程度入门

面试

想法

枚举b放到a的位置。

代码实现

#include<cstdio>
int n, k;
int a[10], b[10], ans[10];
bool flag = false;
bool vis[10];
void DFS(int x) {
	if(x > k) {
		flag = true;
		for(int i=1; i<=k; i++)
			printf("%d ", ans[i]);
		return ;
	}
	for(int i=1; i<=n; i++) {
		if(vis[i] || b[x]>a[i])continue;
		ans[x] = i;
		vis[i] = true;
		DFS(x+1);
		vis[i] = false;
		if(flag)return ;
	}
	return ;
}
int main() {
	scanf("%d %d", &n, &k);
	for(int i=1; i<=n; i++) 
		scanf("%d", &a[i]);
	for(int i=1; i<=n; i++)
		scanf("%d", &b[i]);
	DFS(1);
	if(!flag)
		printf("-1");
	return 0;
}
/app/www/public/data/pages/icpc/problems/luogup8838.txt · 最后更改: 2024/01/21 12:27 由 温婕莺