用户工具

站点工具


2023-2024:teams:ikun_is_coding:2023_牛客暑期多校训练营_2

这是本文档旧的修订版!


目录

A

B

C

D

E

F

G

H

I

签到题

给定n*m大小的棋盘,按五子棋规则构造两人和棋情况

结论很显然

如果行数为偶数,对每一行构造一个连续四个断一个即可,下一行和上一行的情况完全相反

如果行数为奇数,考虑前n-1行采取偶数行情况的构造,最后一行两个棋子交替即可

本来第一直觉以为是考察五子棋的日字八卦阵,结果发现我属实想多了

AC代码

#include <bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int n,m;
		cin>>n>>m;
		int flag = 1;
		for(int i=0;i<(n%2?n-1:n);++i){
		   	int count = 1;
		   	for(int j=0;j<m;++j){
		   	   	if(flag>0){
		   	   	   	if(count<=4){
		   	   	   	  	printf("x");
		   	   	   	  	count++;
		   	   	   	}
		   	   	   	else{
		   	   	   	  	count = 1;
		   	   	   	  	printf("o");
		   	   	   	}
		   	   	}
		   	   	else{
		   	   	    if(count<=4){
		   	   	   	  	printf("o");
		   	   	   	  	count++;
		   	   	   	}
		   	   	   	else{
		   	   	   	  	count = 1;
		   	   	   	  	printf("x");
		   	   	   	}
		   	   	}
		   	}
		   	flag = -flag;
		   	printf("\n");
		}
		if(n%2){
		    for(int j=0;j<m;++j){
		    	if(j%2==0) printf("x");
		    	else printf("o");
		    }
			printf("\n");
		}

    }
}

J

K

L

2023-2024/teams/ikun_is_coding/2023_牛客暑期多校训练营_2.1689938914.txt.gz · 最后更改: 2023/07/21 19:28 由 blackening