题目描述

传送门

【问题描述】

海星突击队在一次执行任务中,有n个人在敌占区被围困,他们最后在一个隐蔽地方安营扎寨,等待友军支援。
从安全角度出发,每天晚上他们必须安排人来值班,以防敌人发现袭击。他们的长官决定每天安排至少3人值班才能保证基本安全。但是因为晚上值班过于无聊,值班的人可能发生冲突,所以不能让任何2个人一起值班超过3次(不一定连续3次)。
请问突击队最多能度过多少天,并且保证没有任何人之间有冲突

【输入】

一个正整数n ,表示有n 个人

【输出】

第一行输出一个整数ans ,表示最多可以安全度过ans 天。
接下来ans 行,每行若干个整数,表示这一天安排值班的人。如果有多组解,输出任意一组即可。

【输入样例】

3

【输出样例】

3
1 2 3
1 2 3
1 2 3
对于50% 的数据,保证n<=99。
对于100% 的数据,保证3<=n<=999,且n 为奇数
本题有部分分数,安全度过的天数正确可以得60%分数


分析

构造题。
一共有C(n,2)组,每天对三组人有影响,每组不能超过三次。感性认识,能挺C(n,2)天。
之后,就是如何构造了,很玄学。

*思路

不过可以通过随机来发现一些规律:
先随机出x,y,z这三个数,统计他们共同出现过的次数,如果可以,ans++;
但更玄学的是不管随机次数多大重点内容,答案总是离正确答案少了那么一点…….
不过没关系,如果把那张统计次数的表打出来,你就可以一眼瞄到还可以增加的答案,进而发现规律,得出答案。


#include<cstdio>
#include<iostream>
using namespace std;
int n;
int a[1100][1100]={};
int main(){scanf("%d",&n);printf("%d\n",n*(n-1)/2);for(int i=1;i<=(n>>1);i++)for(int j=1;j<=n;j++)printf("%d %d %d\n",j,(i+j-1)%n+1,(j+i+i-1)%n+1);return 0;
}

再附带随机的代码

#include<bits/stdc++.h>
using namespace std;
int n,cnt=0;
int a[1100][1100]={};
int Rank(){return ((rand()%66666 <<6)|(rand()%66666))%n+1;
}
int main(){scanf("%d",&n);srand(time(0));for(int i=1;i<=1000000;i++){int x,y,z;x=Rank();y=Rank();z=Rank();if(x==y||y==z||x==z) continue;if(a[x][y]>=3||a[y][x]>=3||a[x][z]>=3||a[z][x]>=3||a[z][y]>=3||a[y][z]>=3) continue;a[z][x]++;a[z][y]++;a[y][z]++;printf("%d %d %d\n",x,y,z);cnt++;}printf("%d\n----------\n",cnt);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)printf("%d ",a[i][j]);printf("\n");}return 0;
}

[模拟训练]海星突击队相关推荐

  1. OpenAI探索机器人模拟训练新方法:仿真与真实世界无缝衔接

    问耕 编译整理 OpenAI发布了一项新的机器人技术. 研究人员完全在仿真模拟环境中对机器人控制器进行训练,然后把控制器直接应用在实体机器人身上,通过这种方式让机器人在执行简单任务时,可以应对外界环境 ...

  2. 社区活跃吗_武汉大江园社区活跃着一支90后志愿者突击队

    在武汉大江园社区活跃着一支90后志愿者突击队,他们是武汉农村商业银行江岸支行下沉社区的志愿者,抗疫期间化身采购员.搬运工.小区看门人--积极投身到社区防疫的第一线,为社区8000多居民做好后勤保障工作 ...

  3. 小小突击队为什么服务器正在维护中,4399小小突击队3月20日5:30更新维护公告!...

    亲爱的各位玩家: <小小突击队>将于3月20日5:30-7:30进行维护更新,更新内容如下: 一.英雄 1.新增:海牙战士为了寻找幼年时走失妹妹,加入了小小突击队 2.调整:龙骑士去国外旅 ...

  4. 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍

    如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了"批斗大会",所以团队的人都觉得这个会很鸡肋. 很多团队在开反思 ...

  5. 29_海星资讯9月29日报

    Hi,我是海星的贝贝,给您送出9月29日钢材价格资讯.记得关注哟~ 从今日起,我们的资讯实行点播制,文章末尾留言您关注的钢材品类和感兴趣的钢材价格,我们为您整理--点在看的伙伴优先安排哟- 今日采购订 ...

  6. 小小突击队服务器维护多久,小小突击队1.28更新公告

    亲爱的各位玩家: <小小突击队>将于1月28日5:30-7:30进行维护更新,更新内容如下: [英雄] 1.新增:突击学院突刮大风,新英雄登场:铁扇公主 2.调整:忍者·源苦练绝影刀法,技 ...

  7. 小小突击队服务器维护多久,《小小突击队》08月06日更新公告

    亲爱的各位玩家: <小小突击队>将于08月06日5:30-7:30进行维护更新,更新内容如下: [英雄] 1.新增:小司马仰慕曹老板,加入曹字营 2.调整:二郎神狗粮吃多了,解除了天眼封印 ...

  8. 【图片新闻】低空穿越的美军MC-130J突击队II特种作战运输机

    一段新的Twitter视频显示了美国空军运输编队的特别大胆的飞行画面:穿越威尔士山谷的低空编队飞行.在这段视频中,可以看到四架MC-130J突击队II特种作战运输机(设计用于支援特种部队)正在飞越英国 ...

  9. Python—期末考试模拟训练题

    Python-期末考试模拟训练题 2019.12.19日 输出一行Hello,world. print("Hello,world.") 输出10行带标号的Hello,world. ...

最新文章

  1. hibernate加载持久化对象的两种方式---------------load方式和get方式
  2. Mybatis中的attempted to return null from a method with a primitive return type (int).异常
  3. 软件测试oracle问题,数据库基础:Oracle数据库中时间问题比较
  4. 10K入职linux运维岗位小伙伴感谢信及面试经历分享
  5. C++虚函数---我的理解
  6. 2019.04.10 电商28 支付宝功能02
  7. GLSL学习笔记三(片元处理)
  8. 搞定短视频!批量下载快手视频(附源码)
  9. Algorithm:数学建模大赛(CUMCM/NPMCM)之建模历年题目类型、数据分析及官方评阅要点之详细攻略
  10. 应急指挥调度中心坐席解决方案
  11. Unity3D自带例子AngryBots的分析
  12. 大学四年,学了这些计算机基础知识,成为了别人眼中的大神
  13. C++实现截图截屏功能汇总
  14. ThinkPad T450 笔记本电脑 Fn + F8 组合键失效后开启无线网络的办法
  15. 自研数据分析工具——yandas系列一:分析泰坦尼克号沉船事件中的乘客信息表
  16. 注册 Ironic 裸金属节点并部署裸金属实例
  17. Python数据类型变量命名format集合等
  18. 背后的力量 | 华云数据助力龙光地产灾备平台建设 推动业务系统转型革新
  19. 认识C++(引别人的)
  20. VC++ 通过wmic获取主板和BIOS序列号

热门文章

  1. 微信小程序-开发实战(二)
  2. 搜索不到投屏设备怎么办_搜不到投屏设备怎么办
  3. 全景解析腾讯云安全:从八大领域输出全链路智慧安全能力
  4. 移动最小二乘法MLS
  5. UE4无法下断,未添加任何符号
  6. 32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址
  7. 良好的运行环境对确保计算机系统的安全有何重要意义,安全的重要意义
  8. 再别康桥 --徐志摩
  9. 不要再使用MD5和SHA1加密密码了!
  10. Day 3 CF731div3 vp