1496 E. Garden of the Sun(构造+思维)

2024-03-22 14:50
文章标签 思维 构造 sun garden 1496

本文主要是介绍1496 E. Garden of the Sun(构造+思维),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:https://codeforc.es/contest/1496/problem/E

题解参考:大佬

题解说明:认真读题,最开始任意两个'X'之间没有共同边和角,所以不存在情况

所以遇到j%3==p&&j+2<=n&&(c[i][j+1]=='X'||c[i][j+2]=='X')时直接令c[i][j+1]==c[i][j+2]==‘X'就到达了连接的目的。

总结:别害怕。cf能300+人做出来就说明我完全可能做出来(多想想)。

代码:

#include <bits/stdc++.h>#define ll long long
#define pi acos(-1)
#define pb push_back
#define mst(a, i) memset(a, i, sizeof(a))
#define pll pair<ll, ll>
#define fi first
#define se second
#define mp(x, y) make_pair(x, y)
#define rep(i, a, n) for (ll i = a; i <= n; i++)
#define per(i, n, a) for (ll i = n; i >= a; i--)
#define dbg(x) cout << #x << "===" << x << endl
#define dbgg(l, r, x)                                \for (ll i = l; i <= r; i++) cout << x[i] << " "; \cout << "<<<" << #x << "\n"
//多动脑,少动笔
using namespace std;template <class T>
void read(T &x) {T res = 0, f = 1;char c = getchar();while (!isdigit(c)) {if (c == '-') f = -1;c = getchar();}while (isdigit(c)) res = (res << 3) + (res << 1) + c - '0', c = getchar();x = res * f;
}
void Printf(ll x) {if (x < 0) putchar('-'), x = -x;if (x > 9) Printf(x / 10);putchar(x % 10 + '0');
}
void print(ll x, char c) { Printf(x), putchar(c); }
const ll maxn = 5e2 + 10;
const ll mod = 1e9 + 7;
const ll inf = 1e9;ll n, m, p;
char c[maxn][maxn];
void PPrint() {// cout << ">>>>>>\n";rep(i, 1, n) {rep(j, 1, m) { putchar(c[i][j]); }puts("");}
}
int main() {// freopen("testdata.in","r",stdin);// freopen("testout.out","w",stdout);ll TT = 1;read(TT);while (TT--) {read(n), read(m);if (m % 3 == 0)p = 2;elsep = 1;// dbg(p);rep(i, 1, n) {rep(j, 1, m) {cin >> c[i][j];if (j % 3 == p) c[i][j] = 'X';// if(j%3==p) putchar('X');// else putchar(c[i][j]);}// puts("");}// PPrint();rep(j, 1, m) {if (j % 3 != p) continue;if (j + 2 > m) break;bool f = false;rep(i, 1, n) {if (c[i][j + 1] == 'X' || c[i][j + 2] == 'X') {c[i][j + 1] = c[i][j + 2] = 'X';f = true;break;}}if (!f) c[1][j + 1] = c[1][j + 2] = 'X';}PPrint();}return 0;
}

 

这篇关于1496 E. Garden of the Sun(构造+思维)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835513

相关文章

leetcode105 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3/ \9 20/ \15 7   class Solution {public TreeNode buildTree(int[] pr

如何导入sun.misc.BASE64Encoder和sum.misc.BASE64Decoder

右击项目名--->Build Path--->Configure Build Path...--->java Build Path--->Access rules:1 rule defined,added to all librar...   --->Edit --->Add...

颠覆你的开发模式:敏捷思维带来的无限可能

敏捷软件开发作为现代软件工程的重要方法论,强调快速响应变化和持续交付价值。通过灵活的开发模式和高效的团队协作,敏捷方法在应对动态变化和不确定性方面表现出色。本文将结合学习和分析,探讨系统变化对敏捷开发的影响、业务与技术的对齐以及敏捷方法如何在产品开发过程中处理持续变化和迭代。 系统变化对敏捷软件开发的影响 在敏捷软件开发中,系统变化的管理至关重要。系统变化可以是需求的改变、技术的升级、

C++中类的构造函数调用顺序

当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的 构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。 简而言之,对象是由“底层向上”开始构造的。因为,构造函数一开始构造时,总是 要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时, 如果无专门说明,就调用直接基类的默认构造函数。在对象析构时,其顺序正好相反。

Java构造和解析Json数据的两种方法(json-lib构造和解析Json数据, org.json构造和解析Json数据)

在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别。下面首先介绍用json-lib构造和解析Json数据的方法示例。 一、介绍       JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json

CF #278 (Div. 2) B.(暴力枚举+推导公式+数学构造)

B. Candy Boxes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/488/problem/B There

MemSQL Start[c]UP 2.0 - Round 1A(构造)

题目链接:http://codeforces.com/problemset/problem/452/A 解题思路: 打个表暴力查找匹配。 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#include <strin

Codeforces Round #281 (Div. 2)A(构造+暴力模拟)

题目链接:http://codeforces.com/problemset/problem/493/A 解题思路: 暴力的判断,分三种情况去判断即可。注意如果之前已经被罚下场后,那么在后面的罚下情况不应该算在输出结果内。 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <co

Codeforces Round #233 (Div. 2)A(构造)

题目链接:http://codeforces.com/contest/399/problem/A 解题思路: 构造出来即可,考虑p-k和p+k两个边界分别于1和n作比较,对左右符号特殊处理。 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <complex>#include

Codeforces Round #247 (Div. 2)A(构造)

题目链接:http://codeforces.com/contest/431/problem/A 解题思路: 构造出来即可。 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#include <string>#inc