乱搞一发,,竟然过了!!!

题目大意:输入一个整数n,然后n-2行,每一行3个数字,表示一个数组中连续的3个数字,然后将这3个数字的顺序打乱,然后再将这个n-2行打乱,要求还原数组。

题解:先找到前3个数字,第一个数字跟最后一个数字出现的次数肯定为1,所以直接找出现次数为1的点就可以了。然后第二个点的出现次数肯定为2,第三个点的出现次数为3,然后根据第二个点和第三个点去找第四个点,,,用vector来记录位置。

#include<bits/stdc++.h>
using namespace std;
const int N=1E5+;
int arrl[N],arrm[N],arrr[N];
int mark[N];
vector<int >ve[N];
int main()
{
int n;
cin>>n;
for(int i=;i<=n-;i++) {
cin>>arrl[i]>>arrm[i]>>arrr[i];
ve[arrl[i]].push_back(i);
ve[arrm[i]].push_back(i);
ve[arrr[i]].push_back(i);
}
int pos1,pos2,pos3;
int x;
for(int i=;i<=n;i++) {
if(ve[i].size()==) {
pos1=i;
x=ve[i][];
if(ve[arrl[x]].size()==) pos2=arrl[x];
if(ve[arrr[x]].size()==) pos2=arrr[x];
if(ve[arrm[x]].size()==) pos2=arrm[x];
if(ve[arrl[x]].size()==) pos3=arrl[x];
if(ve[arrr[x]].size()==) pos3=arrr[x];
if(ve[arrm[x]].size()==) pos3=arrm[x];
break;
}
}
int pos=;
cout<<pos1<<" "<<pos2<<" "<<pos3<<" ";
while(){
if(pos>n) break;
else {
for(int i=;i<ve[pos2].size();i++){
if(ve[pos2][i]==x) continue ;
for(int j=;j<ve[pos3].size();j++){
if(ve[pos2][i]==ve[pos3][j]){
x=ve[pos2][i];
if(arrr[x]!=pos2&&arrr[x]!=pos3){
cout<<arrr[x]<<" ";
pos2=pos3;
pos3=arrr[x];
}
else if(arrl[x]!=pos2&&arrl[x]!=pos3){
cout<<arrl[x]<<" ";
pos2=pos3;
pos3=arrl[x];
}
else if(arrm[x]!=pos2&&arrm[x]!=pos3){
cout<<arrm[x]<<" ";
pos2=pos3;
pos3=arrm[x];
}
break;
}
}
}
}
pos++;
}
return ;
}

C - League of Leesins的更多相关文章

  1. League of Leesins

    C - League of Leesins 首先找到每一串数字的头和尾两个数字,这两个数字有一个特点,就是它们在输入数据的时候都只会出现一次.我们在输出的时候用头和尾做第一数都可以. 然后第二个数只会 ...

  2. 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 ...

  3. Codeforces Round #601 (Div. 2) C League of Leesins

    把每一次输入的一组数字存下来,然后把每个数字出现的组数存下来 然后找只出现过一次的数字a,那么这个数字a不是开头就是结尾,默认为开头(是哪个都无所谓),然后去找和它出现在同一组的两个数字b和c,而b和 ...

  4. Codeforces Round #601 (Div. 2)

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

  5. league之csv导出

    有的时候当我们导出文件时,如果文件比较小可以使用phpexcel,但是当文件太大时就会遇到很多瓶颈(excel条数限制.导出时间太长等). 这个时候要么使用excel分批次导出,要么就需要使用csv导 ...

  6. 团队——League of Programers简介

    团队名称  League of Programers 团队成员简介 武璧泽:编程能力较强,善于程序思路设计: 邹兰兰:擅长代码的分析.编写与调试: 倪彤炜:擅长解决代码的修正与编写,善于调节团队关系: ...

  7. 对于League of Legends的分析

    League of Legends是一款在国内甚至国际上都很受欢迎的一款网络竞技行的游戏.它是由美国Riot Games开发,腾讯游戏运营的英雄对战网游.<英雄联盟>除了即时战略.团队作战 ...

  8. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) D. Innokenty and a Football League

    地址:http://codeforces.com/contest/782/problem/D 题目: D. Innokenty and a Football League time limit per ...

  9. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals )D. Innokenty and a Football League(2-sat)

    D. Innokenty and a Football League time limit per test 2 seconds memory limit per test 256 megabytes ...

随机推荐

  1. laravel的中间件创建思路

    网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用array_reduce函数的? 本文从自己的角度出发,模拟了如果我是作者,我是怎么实现这个中间件 ...

  2. 洛谷 P2568 GCD 题解

    原题链接 庆祝一下:数论紫题达成成就! 第一道数论紫题.写个题解庆祝一下吧. 简要题意:求 \[\sum_{i=1}^n \sum_{j=1}^n [gcd(i,j)==p] \] 其中 \(p\) ...

  3. 为什么你的程序配了classpath还是找不到类

    classpath简介 classpath是java程序时拥有的一个系统变量,这个变量可以通过如下方式获取 System.out.println(System.getProperty("ja ...

  4. Hive内外表的区分方法及内外部差异

    Hive内外部区分方法 查看hive元数据:进入mysql中hive元数据库,查看TBLS表,查看对应的表名和表类型: 在hive-cli界面:desc extended tablename,查看Ta ...

  5. mysql系列--sql实现原理

    count(*) MyISAM 引擎把⼀个表的总⾏数存在了磁盘上,因此执⾏ count(*) 的时候会直接返回这个数,效率很⾼:但是加了条件则不能快速返回⽽ InnoDB 引擎就麻烦了,它执⾏ cou ...

  6. stm32CubeMx+TrueSTUDIO+uc/os-III移植开发(二)

    (三)复制相关文件 (1)继上次的代码生成后会显示如下的图 点击第一个,打开文件夹如下 (2)新建文件夹UCOSIII 在UCOSIII文件夹下,新建如下的文件夹 (3)将uc/os源文件中 Micr ...

  7. 构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践

    作者 | 殷铭  颜铺科技架构师 本文整理自架构师成长系列 3 月 19 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "319",即可获取对应直播回放链接 ...

  8. POJ - 1276 二进制优化多重背包为01背包

    题意:直接说数据,735是目标值,然后3是后面有三种钱币,四张125的,六张五块的和三张350的. 思路:能够轻易的看出这是一个多重背包问题,735是背包的容量,那些钱币是物品,而且有一定的数量,是多 ...

  9. 使用Dism命令对Win7镜像进行操作

    在操作前,我们需要下载Win7部署工具AIK和Win7原版镜像 ★镜像迅雷链接 ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408 ...

  10. 汇编学习-三(VB)

    闲来无事做了一下160个crackme,因为是VB程序,所以将得到的一点心得记录如下(OD加载注释) push eax ; Andréna.004018A8 call dword ptr ds:[&l ...