Codeforces Round #480 (Div. 2) B. Marlin
题目地址:http://codeforces.com/contest/980/problem/B
官方题解:
题意:
有一个城市有4行n列,n是奇数,有一个村庄在(1,1),村民在(4,n)钓鱼;还有一个村庄在(4,1),村民在(1,n)钓鱼;现在要修建k个宾馆,不能修建在边界上,问能否给出一种安排方案使得两个村庄的村民到他们各自的活动地点的最短路的条数相等。
思路:
画了几个实例就应该知道,无论n和k是多少,都可以构建出合理的方案,并且 0≤k≤2×(n−2),所以全是YES。
如果k为偶数,那么就上下对称,一列一列横着输出;当k为奇数,我采用的是首先把第二排从中间开始向两边填满,然后第三排则是从中间一格的两边开始填。
1 #include<cstdio> 2 #include<cmath> 3 #include<algorithm> 4 #include<cstring> 5 #include<string> 6 #include<iostream> 7 #include<map> 8 #include<vector> 9 #include<set> 10 #include<queue> 11 using namespace std; 12 const int N = 100; 13 int main() { 14 int n, k; 15 char ans[5][N]; 16 scanf("%d %d", &n, &k); 17 printf("YES\n"); 18 for (int i = 0; i < 5; i++) 19 { 20 for (int j = 0; j < N; j++) 21 { 22 ans[i][j] = '.'; 23 } 24 } 25 if (k % 2 == 0) 26 { 27 int p = 2; 28 while (k > 0) 29 { 30 ans[2][p] = '#'; 31 ans[3][p] = '#'; 32 p++; 33 k -= 2; 34 } 35 } 36 else 37 { 38 if (k == 1) 39 { 40 ans[2][n / 2 + 1] = '#'; 41 } 42 else if (k == 3) 43 { 44 int s = (n + 1) / 2; 45 ans[2][s] = '#'; 46 ans[2][s - 1] = '#'; 47 ans[2][s + 1] = '#'; 48 } 49 else 50 { 51 ans[2][2] = '#'; 52 ans[2][3] = '#'; 53 ans[3][2] = '#'; 54 int p = 4; 55 k -= 3; 56 while (k > 0) 57 { 58 k -= 2; 59 ans[2][p] = '#'; 60 ans[3][p] = '#'; 61 p++; 62 } 63 } 64 } 65 for (int i = 1; i <= 4; i++) 66 { 67 for (int j = 1; j <= n; j++) 68 { 69 printf("%c", ans[i][j]); 70 } 71 printf("\n"); 72 } 73 return 0; 74 }
转载于:https://www.cnblogs.com/Tangent-1231/p/9013593.html
Codeforces Round #480 (Div. 2) B. Marlin相关推荐
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
- 构造 Codeforces Round #302 (Div. 2) B Sea and Islands
题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...
- Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...
- Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...
- Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...
- Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...
- Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) F - AB Tree Problem ...
- Codeforces Round #699 (Div. 2) (A ~ F)6题全,超高质量良心题解【每日亿题】2021/2/6
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) (A.B.C)[每日亿题]2021/2/ ...
最新文章
- 马斯克炮轰微软:OpenAI不是你的工具人
- 数据结构-----AVL树的旋转操作
- cgi备份还原和ghost有什么区别_手动GHOST还原重装系统详细教程
- Java常见异常处理
- 我们公司也实行了OKR
- 积微论坛第一期 - 基于大数据整合预测土壤枯萎病的发生 (文稿分享)
- OSTaskDelReq()--请求删除任务函数
- 是男人就下100层【第五层】——2048游戏从源码到发布市场
- 【python】Python的基本数据类型以及运算符的练习题
- 理解为什么要使用Ioc
- swift网络编程入门应用:天气预报
- 安卓beforetextchanged_【已解决】Android中给EditText添加的TextWatcher中的onTextChanged始终被调用(被执行多次)...
- 1012 sed 基本命令(进行中)
- eclipse 没有web项目解决办法
- python身份证号码计算年龄
- 谷歌浏览器发送POST请求(测试Post接口)
- 读《股票大作手回忆录》
- HDU-3237 Help Bubu(状压dp)
- 关于Android SD卡
- 阿龙学堂-hdfs存储数据倾斜