EOJ Monthly
###2018.10
A.oxx 的小姐姐们
oxx 和他的小姐姐(们)躺在图书馆前的大草坪上看星星。
有强迫症的 oxx 想要使得他的小姐姐们正好躺成一块 n×m 的长方形。
已知小姐姐的形状是 1×p 的长方形(可以横着或竖着躺)。小姐姐从 1 到 nm 编号总共有 nm 个(如果可以的话,绝对够用)。
P.S. 小姐姐是 1×p 的是因为她们比较苗条。
输入
输入三个整数 n, m, p (1≤n,m,p≤100,p 是质数)。
输出
如果不行,输出 No。
否则输出 Yes。随后输出 n 行 m 列正整数用空格隔开。同一个小姐姐用相同的数字表示,不同的小姐姐用不同的数字表示。数字应是在 [1,nm] 范围内的正整数。同一个数字至多出现 p 次,这 p 次应该在横向连续,或者纵向连续。
如果有多解输出任意一解。
样例
2 3 2
Yes
2 2 3
1 1 3
3 3 2
No
3 3 3
Yes
2 2 2
1 1 1
3 3 3
2 3 2
Yes
6 3 3
6 4 4
4 2 2
Yes
2 7
2 7
5 5
3 3
提示
请注意对于最后一组样例输出:
2 1
2 1
1 2
1 2
是不合法的。因为不同的小姐姐必须用不同的数字表示。你居然把 1 号小姐姐和 2 号小姐姐克隆了 QAQ。
解题思路:p是质数,如果n*m%p!=0时,显然为"No";否则一定能用多块1*p的矩形覆盖满方阵:考虑先对行进行横线填充,再对行剩下的列进行纵向填充。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=;
int n,m,p,t,cnt,tp,mp[maxn][maxn];
int main(){
while(cin>>n>>m>>p){
t=n*m;
if(t%p)cout<<"No"<<endl;
else{
memset(mp,,sizeof(mp));cnt=;
cout<<"Yes"<<endl;
for(int x=;x<=n;++x){///先对行进行填充
for(int y=;y<=m-m%p;++y){
mp[x][y]=cnt;
if(y%p==)cnt++;///填满一块1*p的矩形
}
}
for(int y=m-m%p+;y<=m;++y){///再对剩余的列进行填充
for(int x=;x<=n-n%p;++x){
mp[x][y]=cnt;
if(x%p==)cnt++;
}
}
for(int i=;i<=n;++i)
for(int j=;j<=m;++j)
cout<<mp[i][j]<<(j==m?'\n':' ');
}
}
return ;
}
###2018.11
B.转机折扣
你女朋友最近又不理你了。这一定是因为你上个月没有去浦东看她。异地恋实在是太辛苦了,浦西到浦东的距离,对于你来说,就像是上海到北京的距离。
曾有诗这样写道:
世上最遥远的距离,不是生与死的距离,不是天各一方,而是我就站在你面前,你却不知道我爱你。
你决定乘坐航班从虹桥飞往浦东,希望能挽回你女朋友的心。
众所周知,虹桥没有直飞浦东的航班,你需要找一个机场转机。虽然你不在乎这个经济成本,但是,幸运的是,为了庆祝双十一,航空公司推出了一个活动,若你从机场 A 乘坐航班飞往机场 B,机场 B 接着飞往机场 C,且机场 B 的字典序在机场 A 和机场 C 之间的,可以享受 9 折优惠。
所有机场的名字长度都是相等的。
一句话题意:给出等长的两个字符串 s 和 t,要求一个与他们等长的字符串字典序比其中一个大,但比另外一个小。
输入
输入两行两个等长的非空字符串 s, t。长度不超过 105,由英文大写字母组成。
输入保证有解。
输出
输出一个与输入的字符串等长的字符串,也由英文大写字母组成。如果有多解,输出任意一解。
样例
SHA
PVG
PZI
ZSPD
ZSSS
ZSQD
解题思路:将两个字符串看成两个数来处理,较小的数加1即可。注意末尾的字符如果是'Z',则先变成'A',并且向前进位1,否则直接加1即可(题目保证一定有解),加完直接break。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=1e5+;
char s1[maxn],s2[maxn];
int main(){
while(~scanf("%s%s",s1,s2)){
if(strcmp(s1,s2)>)swap(s1,s2);
for(int i=strlen(s1)-;i>=;--i){
if(s1[i]=='Z')s1[i]='A';
else {s1[i]++;break;}
}
printf("%s\n",s1);
}
return ;
}
EOJ Monthly的更多相关文章
- EOJ Monthly 2019.2 题解(B、D、F)
EOJ Monthly 2019.2 题解(B.D.F) 官方题解:https://acm.ecnu.edu.cn/blog/entry/320/ B. 解题 单测试点时限: 2.0 秒 内存限制: ...
- EOJ Monthly 2018.8 D. Delivery Service-树上差分(边权/边覆盖)(边权转点权)(模板题)
D. Delivery Service 单测试点时限: 2.5 秒 内存限制: 512 MB EOJ Delivery Service Company handles a massive amount ...
- EOJ Monthly 2018.7
准备继续大学acm啦 又要开始愉快的码码码啦 第一次在华东师大OJ上面做题 看来EOJ上的积分体质是假的,我怎么一把上红??? A.数三角形 神tm的防AK题放在A,出题人很不友好啊... 先写了个暴 ...
- EOJ Monthly 2018.4
A. ultmaster 的小迷妹们 Time limit per test: 2.0 seconds Memory limit: 256 megabytes ultmaster 男神和他的小迷妹们准 ...
- EOJ Monthly 2018.4 (E.小迷妹在哪儿(贪心&排序&背包)
ultmaster 男神和小迷妹们玩起了捉迷藏的游戏. 小迷妹们都希望自己被 ultmaster 男神发现,因此她们都把自己位置告诉了 ultmaster 男神,因此 ultmaster 男神知道了自 ...
- EOJ Monthly 2020.1 E. 数的变幻
题目链接:https://acm.ecnu.edu.cn/contest/247/problem/E/ 这道题是cf原题: Codeforces Round #608 (Div. 2) E. Comm ...
- [EOJ Monthly 2018.10][C. 痛苦的 01 矩阵]
题目链接:C. 痛苦的 01 矩阵 题目大意:原题说的很清楚了,不需要简化_(:з」∠)_ 题解:设\(r_i\)为第\(i\)行中0的个数,\(c_j\)为第\(j\)列中0的个数,\(f_{i,j ...
- EOJ Monthly 2019.2
题解 A 回收卫星 #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/s ...
- EOJ Monthly 2018.11 D. 猜价格
猜价格 分两种情况讨论: k≤n,先猜至多 k 次 1,由于回答 <1 肯定是假的,所以可以把剩余系下是哪次错试出来,然后用至多 n 次搞定. k>n,每个数都猜两次,如果两次结果不一样, ...
- 【EOJ Monthly 2018.7】【D数蝌蚪】
https://acm.ecnu.edu.cn/contest/92/problem/D/ D. 数蝌蚪 Time limit per test: 2.0 seconds Memory limit: ...
随机推荐
- 在vc6.0下编的对话框界面如果没做过其他处理,往往显的很生硬,怎么样才能使他有Windows XP的风格呢,其实也很简单,我们来看看下面两种方法。
在vc6.0下编的对话框界面如果没做过其他处理,往往显的很生硬,怎么样才能使他有Windows XP的风格呢,其实也很简单,我们来看看下面两种方法. 方法一: 1.首先确认你在Windows ...
- redis10---Setbit 的实际应用
Setbit 的实际应用 场景: 1亿个用户, 每个用户 登陆/做任意操作 ,记为 今天活跃,否则记为不活跃 每周评出: 有奖活跃用户: 连续7天活动,每月评,等等. 思路: Userid dt ac ...
- Android 源码架构
我们都知道Android系统是一个开源工程,在网上可以下载到源代码. 一般在网上搜索一下,就会找到各种下载源代码的方法,比如使用Git和Repo,android源代码下载的网址是http://andr ...
- HDU3746 Cyclic Nacklace —— KMP 最小循环节
题目链接:https://vjudge.net/problem/HDU-3746 Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) M ...
- 项目中Redis分库
Redis中有16个库 默认第0个库 配置库的设置: 不同的库 key可以重复哈 公司的多个不同分布式项目,但是只有一个redis时候,以项目方式区分不同的库 每个项目连接相同 但是库不同
- 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- random和string模块
random模块import randomprint(random.random()) #随机打印一个浮点数print(random.randint(1,5)) #随机打印一个整数,包括5print( ...
- 666 专题五 AC自动机
Problem A.Keywords Search d.n个关键字,1段描述,求描述中出现了多少关键字 s. c. /* ac自动机模板 n个关键字,1段描述,求描述中出现了多少关键字 */ #inc ...
- 【转载】u3d游戏客户端架构(---)
原文:http://blog.csdn.net/xtxy/article/details/8474506 主要是mvc架构, M层为数据层,两个用途:1保存数据:2发送数据更新信息: V层为视图层,两 ...
- UVA-11054(扫描法)
题意: n个等距村庄,每个村庄要么买酒要么卖酒,把k个单位的酒运到相邻村庄去需要k个单位的劳动力,问最少需要多少劳动力才能满足所有的村庄的要求; 思路: 上次做了一个环的,这个是直线的,就是一个大水题 ...