温馨提示:作为一名合格的OI队员,要做到独立思考哦!
这道题其实就是一个模拟题(虽然我模拟得很烂),大概是根据作者思路而来的,所以实在没做出也没事,多去理解一下题目的意思,然后再暴力程序上优化
【因为我只测试了几个数据,发现都符合题意,若代码有问题可以回复我,我会尽力改的,谢谢!】
程序代码:
#include<cstdio>
using namespace std;
struct node {
int x,y;
};
int n,m;
node g[1001];
bool t[1001];
int main() {
scanf("%d %d",&n,&m);
for(int i=1; i<=m; i++) {
scanf("%d %d",&g[i].x,&g[i].y);
if(t[g[i].y]) {
printf("-1");
return 0;
}
t[g[i].x]=true;
t[g[i].y]=true;
}
bool first=false;
for(int i=1; i<=1000; i++) {
if(t[i]&&first) {
printf(" %d",i);
continue;
}
if(t[i]) {
printf("%d",i);
first=true;
}
}
return 0;
}