首页 > 其他分享 >题解:P11020 「LAOI-6」Radiation

题解:P11020 「LAOI-6」Radiation

时间:2024-09-08 15:53:12浏览次数:14  
标签:cnt ch min int 题解 Radiation LAOI long read

我们发现一种最优策略,把石头按照斜线摆,即
( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , … (1,1),(2,2),(3,3),\dots (1,1),(2,2),(3,3),…
如果 min ⁡ ( n , m ) < k \min(n,m)< k min(n,m)<k,则策略如下:

  • 在 ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , … , ( min ⁡ ( n , m ) , min ⁡ ( n , m ) ) (1,1),(2,2),(3,3),\dots,(\min(n,m),\min(n,m)) (1,1),(2,2),(3,3),…,(min(n,m),min(n,m)) 处摆上一块石头
  • 剩余的 k − min ⁡ ( n , m ) k-\min(n,m) k−min(n,m) 块石头就随便摆,因为不管怎么摆,小 U 的操作数是不可能大于 min ⁡ ( n , m ) \min(n,m) min(n,m) 的。
    否则,策略如下:
  • 在 ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , … , ( k , k ) (1,1),(2,2),(3,3),\dots,(k,k) (1,1),(2,2),(3,3),…,(k,k) 处摆上一块石头。
#include <bits/stdc++.h>
using namespace std;
//#define int long long
typedef long long ll;
typedef pair<int, int> pr;
#define up(i, l, r) for(int i = (l); i <= (r); i++)
#define down(i, r, l) for(int i = (r); i >= (l); i--)
const int mod = 1000000007;
const int base = 2333;
const double eps = 1e-6;

inline int read() {
	int x = 0, f = 1; char ch = getchar();
	while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar(); }
	while(ch >= '0' && ch <= '9') { x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar(); }
	return x * f;
}

int n, m, k, Q, T, _;
char ans[2007][2007];
signed main() {
	T=read();
	while(T--){
		n=read(),m=read(),k=read();
		int cnt=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				ans[i][j]='.';
			}
		}
		for(int i=1;i<=min(n,m);i++){
			if(cnt==k)break;
			cnt++;
			ans[i][i]='S';
		}
		int num=k-cnt;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				if(ans[i][j]=='S')cout<<ans[i][j];
				else{
					if(num>0)cout<<'S',num--;
					else cout<<'.';
				}
			}
			cout<<endl;
		}
	}
	return 0;
}

标签:cnt,ch,min,int,题解,Radiation,LAOI,long,read
From: https://blog.csdn.net/juan_wang123/article/details/142028262

相关文章

  • P1419 寻找段落 题解
    其他学习笔记这题真是凝聚了很多精华,那么我们就介绍这题的四兄弟:大哥平均数这道题是其他兄弟的基础。二哥BestCow这位更是重量级,因为没特长只能强大哥的外貌,会大哥即识二哥。三哥PROSJEK这位哥看似有点创新却仍没逃过一家子的基因,只是变为了小数运算。四哥寻......
  • 【题解】CPS-S模拟2
    目录PreT1.不相邻集合题目描述部分分40pts10pts正解思路代码T2.线段树题目描述部分分20pts正解思路代码T3.部分分40pts正解思路代码T4.部分分10pts正解思路代码AndPre赛时没有第一时间找到签到题,遂四处游走,后来决定先打T1,约1h时切了,然后1h打后3题暴力,后面推了推T4一个特殊性质,......
  • [ABC370C] Word Ladder 题解
    题目描述:给予两个相等长度的序列,\(S\)与\(T\),以及一个空数组\(X\),每在\(S\)上修改一个字符,便将修改后的\(S\)加入\(X\)中,直到\(S\)与\(T\)相同。(输出字典序最小的\(X\)数组)拿过题一看,感觉还是蛮简单的,本题主要的难点在字符串的字典序上。字符串字典序的定义......
  • P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能 题解
    非常简单的模拟题。由题意得,即找出输入字符串中,用[]围起来的片段中的大写字母\(A_1,A_2,A_3...A_n\)然后将其转换为小写输出\(/a_1a_2a_3...a_n\)即可。#include<bits/stdc++.h>#defineseq(q,w,e)for(intq=w;q<=e;q++)#definelllonglongusingnamespace......
  • P11020 「LAOI-6」Radiation 题解
    一道简单的构造题,其实不用想的十分复杂的说。首先,最多发射的宇宙射线\(sum\)也最多为\(sum_{max}=min(m,n)\)也就是说,无论如何摆放石子,也只能达到这个数量。那么我们的目的便变成了如何让石子变成这一个形状。如上图,在一个\(3\times6\)的矩阵中,其实只要三颗石子即可满足......
  • AtCoder Beginner Contest 370 A-F题解
    A#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;mt19937rnd(time(0));#defineintlonglongtypedeftuple<int,int,int>tp;#definexfirst#defineysecondtypedefpair<int,int>pii;typedefpair<double,double>......
  • 配置PHP的Session存储到Mysql / Redis / memcache 以及使用opcache以及apc缓存清除工
    一、配置PHP的Session存储到Mysql,Redis以及memcache等        PHP的会话默认是以文件的形式存在的,可以通过简单的配置到将Session存储到NoSQL中,即提高了访问速度,又能很好地实现会话共享!1.默认配置:session.save_handler=filessession.save_path=/tmp/2.配......
  • 【洛谷 P1996】约瑟夫问题 题解(队列+模拟+循环)
    约瑟夫问题题目描述个人围成一圈,从第一个人开始报数,数到的人出列,再由下一个人重新从开始报数,数到的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰名小朋友,而该题是全部出圈。输入......
  • 【题解】CF1955E
    CF1955E翻译思路代码翻译原题链接CF1955E思路  由于每次操作区间长度是定值,所以我们可以说,如果最前面的数已经是1了,那它再也不会被进入操作。因为如果把它变回0,那想再变成1只能以它为起点再操作一次,前后两次操作抵消。  所以思路很简单,直接......
  • Leetcode 第 409 场周赛题解
    Leetcode第409场周赛题解Leetcode第409场周赛题解题目1:3242.设计相邻元素求和服务思路代码复杂度分析题目2:3243.新增道路查询后的最短距离I思路代码复杂度分析题目3:3244.新增道路查询后的最短距离II思路代码复杂度分析题目4:3245.交替组III思路代码复杂度......