把每一次输入的一组数字存下来,然后把每个数字出现的组数存下来

然后找只出现过一次的数字a,那么这个数字a不是开头就是结尾,默认为开头(是哪个都无所谓),然后去找和它出现在同一组的两个数字b和c,而b和c同时出现的只有两组,除了已经知道的,就是需要去查找的,然后循环,同时存在的组数,找到两个数字a和b同时出现的组而且不是第一组,找到之后的组的第三个数字,就是要接在后面的数字,然后循环这个操作

#include <bits/stdc++.h>
using namespace std; int ma[][];//记录每组数据
vector<int>p[];//记录数字i出现过的组数
int ans[];//记录结果
int main() {
int n;
scanf("%d",&n);
for(int i=; i<=n-; i++) {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
p[a].push_back(i);
p[b].push_back(i);
p[c].push_back(i);
ma[i][]=a;
ma[i][]=b;
ma[i][]=c;
}
auto a=,b=,c=;
int last=;//记录b和c出现过的组数
for(int i=; i<=n; i++) { //找开头的3个数(b和c的位置不重要)
if(p[i].size()==) {//如果出现的组数是1
int temp=p[i][];//记录出现的组数
last=temp;//
a=i;//记录第一个数字
for(int j=; j<=; j++) {
if(p[ma[temp][j]].size()==)b=ma[temp][j];
else if(p[ma[temp][j]].size()==)c=ma[temp][j];
}
}
if(a)break;
}
int cou=;
ans[++cou]=a;
ans[++cou]=b;
ans[++cou]=c;
while(cou!=n) {
int temp=;//记录组数
for(int i=; i<p[b].size(); i++) { //找b和c相同的组数
for(int j=; j<p[c].size(); j++) {
// 同时出现在同一组 而且不是第一组
if(p[b][i]==p[c][j]&&p[b][i]!=last) {
temp=p[b][i];//更新组数
last=temp;//更新
a=b;//往前移
b=c;//往前移
break;
}
}
if(temp)break;//如果找到了,循环结束
}
for(int i=; i<=; i++) { //
if(ma[temp][i]!=a&&ma[temp][i]!=b) { //如果成功出现的第三个数字
c=ma[temp][i];//第三个数字给c
break;//结束
}
}
ans[++cou]=c;
}
for(int i=; i<=n; i++) printf("%d ",ans[i]);
return ;
}

Codeforces Round #601 (Div. 2) C League of Leesins的更多相关文章

  1. Codeforce 1255 Round #601 (Div. 2) C. League of Leesins (大模拟)

    Bob is an avid fan of the video game "League of Leesins", and today he celebrates as the L ...

  2. 【cf比赛记录】Codeforces Round #601 (Div. 2)

    Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/p ...

  3. Codeforces Round #601 (Div. 2)

    传送门 A. Changing Volume 签到. Code /* * Author: heyuhhh * Created Time: 2019/11/19 22:37:33 */ #include ...

  4. Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version)

    Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version) N个盒子,每个盒子有a[i]块巧克力,每次操作可以将盒子中的 ...

  5. Codeforces Round #601 (Div. 2) E1 Send Boxes to Alice (Easy Version)

    #include <bits/stdc++.h> using namespace std; typedef long long ll; ; int a[N]; int n; bool pr ...

  6. Codeforces Round #601 (Div. 2) D Feeding Chicken

    //为了连贯,采取一条路形式,从第一行开始 也就是s型 #include <bits/stdc++.h> using namespace std; ; char str[MAXN][MAX ...

  7. Codeforces Round #601 (Div. 2) B Fridge Lockers

    //题目要求的是每一个点最少要有两条边连接,所以可以先构成一个环.然后再把剩余的最短的边连接起来 #include<iostream> #include<algorithm> ...

  8. Codeforces Round #601 (Div. 2) A Changing Volume

    好吧,其实我拿到这个题的时候,首先想到了bfs,写完之后,开开森森的去交代码,却在第二个数据就TEL,然后优化半天,还是不行. 最终,我盯着1,2,5发呆半天,wc,然后直接贪心 #include&l ...

  9. Codeforces Round #601 (Div. 2)E(寻找质因子,DP)

    先分解质因数,对于当前a[i],假设当前的质因数为x,这个位置要满足能被k整除,有两个可能,要么是它向后一个转移x%k个,要么是后一个向它转移k-x%k个. 对于每一个a[i]满足后,因为只会对下一个 ...

随机推荐

  1. ipad的12系统里提示更新到ipdos13,原来安装在12上的app是不是没有了,要重新下载

    ipad的12系统里提示更新到ipdos13,原来安装在12上的app是不是没有了,要重新下载 更新后原来的WiFi密码都还在不用重新连接WiFi,桌面壁纸也是原来12系统上的 在Ipad的设置里将1 ...

  2. R语言入门:向量初探

    R语言主要用于统计,因此引入了向量这个概念将更好地进行统计计算,在其他无法引入向量的语言当中则会使用循环来计算一些大规模的数据,在R语言当中则不需要,下面我们来看看R语言当中向量的具体用法吧! 首先, ...

  3. Java与Go语言差异1 传值还是传引用

    在Java中,复杂类型(除原始类型外的其它类)作为入参,在方法中被修改后,跳出方法对象内的值仍会保持,也就是传的是引用.原始类型传的是值,如int, double等原始类型. Java代码: publ ...

  4. jQuery---jquery.ui实现新闻模块

    jquery.ui实现新闻模块 jquery也有ui,了解即可,用的不多,类似element ui 和bootstrap JQuery UI API: jquery.ui实现新闻模块 draggale ...

  5. java多线程技能-使用多线程-继承Thread类

    /* 使用多线程可通过继承Thread类或实现Runnable接口. Thread和Runnable的关系:public class Thread implements Runnable. 使用thr ...

  6. equals和==的使用

    1.equals的使用: 引用数据类型的比较:通常情况下比较的是引用数据类型下的栈中的地址,但当你重写了equals方法后就不一定了 User user1=new User("tom&quo ...

  7. Pikachu-敏感信息泄露

    敏感信息泄露概述 由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到. 比如:---通过访问url下的目录,可以直接列出目录下的文件列表;---输入错误的url参数后报错信 ...

  8. 百度api识别验证码登录

    import time from selenium import webdriver from aip import AipOcr def initial(): """ ...

  9. ES6扩展

    模板字符串和标签模板 const getCourseList = function() { // ajax return { status: true, msg: '获取成功', data: [{ i ...

  10. CF1237F Balanced Domino Placements

    题意 给定一个 \(h\) 行 \(w\) 列的方格图,上面已经放置了一些 \(1\times 2\) 的多米诺骨牌. 我们称一个放置多米诺骨牌的方案是好的,当且仅当任何两个多米诺骨牌不占用相同的行与 ...