题意:

  两张n*m的纸。一张透明纸,上面有些地方是黑的,有些地方是透明的。另一张纸上写满了字母。

  你需要将透明纸放在写字的纸上,分别顺时针旋转0°、90°、180°、270°,每次从上到下、从左到右写下露出的字符,四次之后所得到的字符串即为答案。

题解:

  模拟即可。

  4个双重for循环,每个循环内四个坐标i,j,a,b,分别为透明纸的行列和写字的纸的行列。

AC Code:

 #include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX_N 1005 using namespace std; int n;
char p[MAX_N][MAX_N];
char c[MAX_N][MAX_N];
string s; void read()
{
cin>>n;
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
{
cin>>p[i][j];
}
}
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
{
cin>>c[i][j];
}
}
} void solve()
{
for(int i=,a=;a<n;i++,a++)
{
for(int j=,b=;b<n;j++,b++)
{
if(p[i][j]=='O') s+=c[a][b];
}
}
for(int j=,a=;a<n;j++,a++)
{
for(int i=n-,b=;b<n;i--,b++)
{
if(p[i][j]=='O') s+=c[a][b];
}
}
for(int i=n-,a=;a<n;i--,a++)
{
for(int j=n-,b=;b<n;j--,b++)
{
if(p[i][j]=='O') s+=c[a][b];
}
}
for(int j=n-,a=;a<n;j--,a++)
{
for(int i=,b=;b<n;i++,b++)
{
if(p[i][j]=='O') s+=c[a][b];
}
}
} void print()
{
cout<<s<<endl;
} int main()
{
freopen("loveletter.in","r",stdin);
freopen("loveletter.out","w",stdout);
read();
solve();
print();
}

2017SN多校D1T1 loveletter:模拟的更多相关文章

  1. 五校联考模拟赛Day2T2矩阵(容斥原理)

    题意 $n * m$的网格,对其进行黑白染色,问每一行每一列至少有一个黑格子的方案数. Sol 考场上只会$n^3$的dp,还和指数级枚举一个分qwq 设$f[i][j]$表示到了第$i$行,已经有$ ...

  2. 2017SN多校D1T2 note:dp

    题意: 给你一个长度为n的字符串s,并且告诉你有m对字母不能相邻,问你最少在s中取出多少个字符能够使这个字符串合法. 题解: 表示状态: dp[i] = max num of letters 考虑到第 ...

  3. [2021.4.9多校省选模拟35]隐形斗篷 (prufer序列,背包DP)

    题面 我编不下去了! 给出 n n n 个点,第 i i i 个点的度数限制为 a i a_i ai​,现在需要选出 x x x 个点构成一颗树,要求这 x x x 个点中每个点的度数不超过这个点的 ...

  4. [多校 NOIP 联合模拟 20201130 T4] ZZH 的旅行(斜率优化dp,启发式合并,平衡树)

    题面 题目背景 因为出题人天天被 ZZH(Zou ZHen) 吊打,所以这场比赛的题目中出现了 ZZH . 简要题面 数据范围 题解 (笔者写两个log的平衡树和启发式合并卡过的,不足为奇) 首先,很 ...

  5. hdu6034[模拟] 2017多校1

    /*hdu6034[模拟] 2017多校1*/ //暴力模拟26个26进制数即可, 要注意进位 #include<bits/stdc++.h> using namespace std; t ...

  6. NOIP 2015提高组复赛

    神奇的幻方 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第 ...

  7. 【NOIP2018】【RP++!】【神大退役记+一丢丢回忆录】

    emmm初赛都完了啊,还有20多天的样子退役选手又要++++++了 所以在这里先预祝各路dalao取得好成绩!! 手动艾特亲友$@Abyssful@阿澈说他也想好好学习@Ed\_Sheeran@歪瓜是 ...

  8. Windows服务的安装、卸载

    创建一个Windows服务 http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html 安装服务 使用FramWork框架自带的Ins ...

  9. noip2012~2015刷题小记录

    2012d1t1 密码 模拟题 #include<cstdio> #include<cstdlib> #include<cstring> #include<c ...

随机推荐

  1. 微信小程序-wxs

    你想在页面上使用JavaScript代码吗? 对不起,小程序不支持! 最近,一个项目就有这样的需求,我也就用上了wxs 使用方法很简单: 项目中用的是取小数点2位以及5位 具体请看官方API:WXS

  2. ushare编译之 ‘struct sockaddr_storage’ has no member named ‘s_addr’

    编译ushare的时候出现'struct sockaddr_storage' has no member named 's_addr' 这是使用libupnp1.6.19出现版本号不兼容的错误. 解决 ...

  3. 怎样推断server为虚拟机还是物理真机?

    dmidecode |grep -A20 "Memory Device$"|sed -n -e'/Locator/p' -e '/Size/p'|grep -v "Ban ...

  4. Oracle 查询一个表的所有字段

    select * from user_tab_columns where table_name = 'T_B_CLIENT_MSG'

  5. vs调试,监控变量

  6. 一种调用dll的巧妙方法

    直接上代码,后面说应用场景 新建一个项目,引入需要调用的dll,如下 class Program { [DllImport( "soft.dll" )] static extern ...

  7. BZOJ 1293 SCOI2009 生日礼物 堆

    题目大意:给定一个数轴上n个点,每一个点有一种颜色,一共k种颜色.求一个最短的区间,包括全部k种颜色 卡了一段时间0.0 一開始想二分答案啥的 后来发现数据范围太大写不了0.0 后来去找题解才发现尼玛 ...

  8. 底部TabsFooter

    Demo简单描述:点击底部菜单可切换页面,并且底部为共用. 这个是在设置好导航Navigator之后进行的步骤,只是我个人进行Tab切换的一种思路方法,或许不是最好的,仅供参考一下. 首先我们需要一个 ...

  9. Unable to save settings: Failed to save settings. Please restart PyCharm解决

    将工程的.ideas目录删掉,重启pycharm即可.

  10. redis数据迁移操作

    redis客户端连接命令,分别连接旧环境中的主从redis Src目录下./redis-cli -h IP -p PORT 使用info replication 命令找出主redis使用客户端命令连接 ...