首页 > 其他分享 >CodeForces-907#B 题解

CodeForces-907#B 题解

时间:2023-01-24 17:22:06浏览次数:55  
标签:取模 907 int 题解 CodeForces 输入

正文

设数组 \(c_{x,y,i,j}\) 代表 \((x,y)\) 位置的大格子中 \((i,j)\) 位置的小格子。

很显然,输入中字符的输入顺序是要调整的,实际的顺序是 \(x,i,y,j\)。

对于输入的 \(x_0,y_0\),只要对 3 取模(若整除则结果为 3)即可得到它对应的大格子的位置。

详见代码:

#include<iostream>
#define g(a) (a)%3==0?3:(a)%3//对3取模
using namespace std;
char c[4][4][4][4]; int x,y;
int main(){
  for(int x=1;x<=3;x++)
    for(int i=1;i<=3;i++)//输入
      for(int y=1;y<=3;y++)
        for(int j=1;j<=3;j++)
          cin>>c[x][y][i][j];
  cin>>x>>y; x=g(x),y=g(y);
  bool is_empty=true;//对应大方块是否为空
  for(int i=1;i<=3;i++)
    for(int j=1;j<=3;j++)
      if(c[x][y][i][j]=='.')
        is_empty=false,
        c[x][y][i][j]='!';
  if(is_empty)
    for(int x=1;x<=3;x++){
      for(int i=1;i<=3;i++){
        for(int y=1;y<=3;y++){
          for(int j=1;j<=3;j++)
            if(c[x][y][i][j]=='.')
              cout<<'!';
            else cout<<c[x][y][i][j];
          cout<<' ';}
        cout<<'\n';}
      cout<<'\n';}
  else
    for(int x=1;x<=3;x++){
      for(int i=1;i<=3;i++){
        for(int y=1;y<=3;y++){
          for(int j=1;j<=3;j++)
            cout<<c[x][y][i][j];
          cout<<' ';}
        cout<<'\n';}
      cout<<'\n';}
}

完结!!

后附

日志

v1.0 on 2023.01.18: 发布

标签:取模,907,int,题解,CodeForces,输入
From: https://www.cnblogs.com/wanguan/p/17066196.html

相关文章

  • Codeforces Round #845 (Div. 2) and ByteRace 2023 A-D
    CodeforcesRound#845(Div.2)andByteRace2023A-DA.EverybodyLikesGoodArrays!题意:对给定数组进行操作:删除相邻两项,替换为两项的乘积,使得该数组奇偶相间。......
  • 题解
    前言只对SubTask2的选手看过来!!!很好的一道模拟题。坑点分析题目里说的很明白了:只要有\(\ge1\)个带有注释的,就是一定是祖宗人,哪怕在后面或者前面出现过符合乐子人......
  • P3802 小魔女帕琪 题解【期望dp】
    题目传送门P3802解题思路本题的解题思路关键在于分段。每一个结构段的概率在之后的结构段依然适用。判断是否符合这种特性最好方法是随机截取一段观察是否成立发现成......
  • 洛谷P3654 First Step题解
    这是一道暴力枚举。 大致题意:R行C列的棋盘要放下长度为K的线段,“#”表示无法放置,问有多少种放置方法。直接贴代码:#include<bits/stdc++.h>usingnamespacestd;i......
  • P4022 [CTSC2012]熟悉的文章 题解
    题目链接简要题意给定\(m\)个模板串和\(n\)个匹配串,如果一个字符串是一个模板串的子串且长度不小于\(L\)则称其为“熟悉的”,对于每个匹配串,求一个最大的\(L\),满足......
  • Codeforces Round #845 (Div. 2) and ByteRace 2023
    《B.Emordnilap》数学,思维   题意:给定一个由1~n组成序列,然后将这序列复制,反转,再放到原序列的末尾,得到新的序列(设为s)问s的逆序对个数 当时我写......
  • 程序员经典问题解答
    帮助在学习、上班的过程中,你是否经常遇到疑难问题无法解决,为此备受折磨?别担心,小编精选多道程序员最头痛的技术问题予以回答。QA小伙伴程序大牛C语言 Q:如何引用一个已经定义......
  • Solution 题解 UVA1389 Hard Life: 最小割,有向图,分数规划,和牛顿迭代
    题解UVA1389HardLife:最小割,有向图,分数规划,和牛顿迭代Preface黑题好耶看到了题解里面大多数是二分,我就来讲一讲简单又快速的DinkelbachAlgorithm吧!0-1分数规划......
  • 洛谷P2036 PERKET题解
     先来审题,主要有以下几个条件:酸度求乘积,苦度求和,两者相减的值最小(当然是绝对值)。下面附上AC代码:#include<bits/stdc++.h>//万能头文件usingnamespacestd;//......
  • 【题解】CF193D Two Segments
    题意给定一个\(1\simN\)的排列,在这个排列中选出两段互不重叠的区间,求使选出的元素排序后构成公差为1的等差数列的方案数。选出的两段区间中元素构成的集合相同时视为同一......