解析

本题也算看了一半题解吧
看到“数学归纳法”退出来自己推的
这题想到归纳法后面也就简单了

首先,n=3和n=4的时候显然有解,可以打表
然后考虑在获得n-2的答案时,如何获得n的答案
如果n为奇数,我们可以把(1,n-1,2,n)、(3,n-1,4,n)…(n-4,n-1,n-3,n)各连两次,最后连两个(n-2,n-1,n)
如果n为偶数,我们可以把(1,n-1,2,n)、(3,n-1,4,n)…(n-5,n-1,n-4,n)各连两次,最后连一个(n-3,n-1,n-2,n)、(n-3,n-1,n)和(n-2,n-1,n)
然后…这道黑题就解决了…
(本人自己写了个checker,欢迎取用)

代码

#include<bits/stdc++.h>
const int N=2e6+100;
const int mod=1e9+7;
#define ll long long
using namespace std;
inline ll read() {ll x(0),f(1);char c=getchar();while(!isdigit(c)) {if(c=='-')f=-1;c=getchar();}while(isdigit(c)) {x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;
int num[N],x[N],y[N],z[N],k[N],tot;
inline void add(int a,int b,int c){++tot;x[tot]=a;y[tot]=b;z[tot]=c;num[tot]=3;
}
inline void add(int a,int b,int c,int d){++tot;x[tot]=a;y[tot]=b;z[tot]=c;k[tot]=d;num[tot]=4;
}
void work(int n){if(n==1) return;if(n==4){add(1,2,3);add(2,3,4);add(3,4,1);add(4,1,2);return;}if(n&1){for(int i=1;i<=n-3;i+=2) add(i,n-1,i+1,n),add(i,n-1,i+1,n);add(n-2,n-1,n);add(n-2,n-1,n);work(n-2);}else{for(int i=1;i<=n-4;i+=2) add(i,n-1,i+1,n),add(i,n-1,i+1,n);add(n-3,n-1,n);add(n-2,n-1,n);add(n-3,n-1,n-2,n);work(n-2);}
}
int main(){#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);#endifn=read();work(n);//printf("%d ",n);printf("%d\n",tot);for(int i=1;i<=tot;i++){printf("%d ",num[i]);if(num[i]==3) printf("%d %d %d\n",x[i],y[i],z[i]);else printf("%d %d %d %d\n",x[i],y[i],z[i],k[i]);}
}
/*
1
281239
*/

checker

#include <cstdio>//checker by wind_whisper
#include <algorithm>using namespace std;
#define ll long long
const int N = 1e6 + 10;
inline ll read() {ll x(0),f(1);char c=getchar();while(!isdigit(c)) {if(c=='-')f=-1;c=getchar();}while(isdigit(c)) {x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}
int n,m;
int vis[900][900],x[5];
int main() {freopen("a.out","r",stdin);n=read();m=read();for(int i=1;i<=m;i++){int k=read();for(int j=1;j<=k;j++){x[j]=read();if(j>1) vis[x[j]][x[j-1]]++,vis[x[j-1]][x[j]]++;}vis[x[1]][x[k]]++;vis[x[k]][x[1]]++;}for(int i=1;i<=n;i++){for(int j=1;j<i;j++){if(vis[i][j]!=2){printf("WA! (%d %d) have %d edges\n",i,j,vis[i][j]);return 0;}}}printf("AC!\n");return 0;
}

CF819E:Mister B and Flight to the Moon(构造、归纳法)相关推荐

  1. HTB打靶日记:Flight

    信息收集: Tcp协议: nmap -p- -sT --min-rate=1000 -Pn 10.129.228.120 Udp协议: nmap -p- -sU --min-rate=1000 -Pn ...

  2. Kibana 用户指南(使用Flight仪表盘探索Kibana)

    使用Flight仪表盘探索Kibana 你是Kibana的新手并希望尝试一下,只需单击一下,你就可以安装Flights样本数据并开始与Kibana交互. Flight数据集包含四家航空公司的数据,你可 ...

  3. 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能...

    下期预告: 由于很多园友反馈,有的组件不应该缺席.测试复杂度不够.测试还缺乏一定的公平. 因此考虑在下一个版本中,确保在更加公平的前提下进行更高复杂度的测试 . 同时将分为2组测试,纯SQL组件及纯O ...

  4. Ubuntu 搭建 Zerotier One MOON 根目录服务器

    原文转摘:http://www.congan.wang/archives/947 博主倒腾了一天,总算搞定了,主要是受到各种搭建教程的错误引导,导致关键过程错误. 官网的MOON搭建教程:https: ...

  5. 理解Flight框架核心

    看到了这篇分析flight的文章还不错,就转过来了,地址:https://blog.csdn.net/sky_zhe/article/details/38906689 Flight框架(官网)是一个微 ...

  6. linux 飞行模拟,为推进2020款微软飞行模拟器开发:微软启动Flight Simulator X Beta测试...

    你对2020年上线的<微软飞行模拟器>(Microsoft Flight Simulator)感兴趣吗?你在Steam上是否已经购买拥有了Microsoft Flight Simulato ...

  7. A flight (to Boston) to Denver - 基于转移的顺滑技术研究 | 论文访谈间 #22

    「论文访谈间」是由 PaperWeekly 和中国中文信息学会青工委联合发起的论文报道栏目,旨在让国内优质论文得到更多关注和认可. 这是第 22 期「论文访谈间」 论文作者 | 王少磊,车万翔,刘挺, ...

  8. flight php 中文,PHP: composer的简单使用

    安装 $ sudo php -r "readfile('https://getcomposer.org/installer');" | php $ sudo mv composer ...

  9. ----icon moon追加新字体图标----

    一.初始自定义字体为icon moon1@font-face {font-family: 'icomoon1';src: url('fonts/icomoon1.eot?9fhn24');src: u ...

最新文章

  1. 微信小程序获取用户设备的信息
  2. linux socket 阻塞非阻塞设置 fcntl,F_GETFL,F_SETFL,flags
  3. DEDE利用Ajax实现调用当前登录会员的信息简要说明
  4. 跨链Cosmos(1) 网络拓扑
  5. java cron表达式_Java 程序员都应该去使用一下这款强大的国产工具类库
  6. SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit
  7. 记一次ora-1652错误的解决过程
  8. Python 线程池 ThreadPoolExecutor(二) - Python零基础入门教程
  9. 图解JVM内存三大核心区域及其JVM内存案例实战剖析
  10. MyEclipse控制台报错:java.lang.OutOfMemoryError: PermGen space
  11. SQL:postgresql中实现查询某字段总数量和该字段不同值各自的数量
  12. (四)JMockit 的API:@Injectable 与 @Mocked的不同--基础篇
  13. 火车票服务端集成总结
  14. 编译原理——证明文法具有二义性
  15. 基本系统调用性能lmbench测试方法和下载
  16. 是否可以将一个控件的outerHTML赋值?
  17. 优化理论16----Armijo-Goldstein准则、 Armijo-Goldstein搜索方法、python实现
  18. 黎曼猜想(二)全体自然数之和等于-1/12和解析延拓
  19. 剑指offer_1:给你一根长度为n的绳子,把绳子剪成m段(m、n都是整数且m 1, n 1),m段绳子的长度依然是整数,求m段绳子的长度乘积最大为多少?  * 比如绳子长度为8,我们可以分成
  20. Golang 基础:底层并发原语 Mutex RWMutex Cond WaitGroup Once等使用和基本实现

热门文章

  1. Lanchester战争模型:用可分离变量的微分方程占卜战事
  2. inputn函数与input函数的区别
  3. php用switch编写车费的输出,PHP Switch语句在实际代码中的应用
  4. 系统即将关机请保存关机是由nt_设置Windows电脑自动关机
  5. mysql tdh_socket_thread_num_TDH_Socket的一些性能对比数据
  6. linux运维趋势 37期刊为啥没有,linux运维常见问题
  7. 囊括计算机 电子信息仿真技术,什么是虚拟现实?
  8. HTML第八章ppt,第八章 web基础教程之HTML篇v1.0.ppt
  9. android手机拍摄权限,react-native 手机拍照权限
  10. mysql anyvalue函数_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式