zoj 3810(找规律)
2015-03-08 17:27
246 查看
题意:有green red yellow blue四种颜色,把一个N*N的矩阵划分为N个区域,颜色相同且紧邻认为是同一个区域,构造一个N*N的矩阵,用GRYB表示。
题解:构造矩形,找到构造规律就好了。。。可是好难QAQ。1和6特殊处理,2、3、4无解,剩下的用规律构造之。
#include <stdio.h>
#include <string.h>
const int N = 105;
char s[5] = "BGRY";
int g
;
void solve(int n) {
memset(g, 0, sizeof(g));
for (int i = 0; i < n; i++)
g[0][i] = 3;
int k = (n - 1) / 2, col = 1;
for (int i = 0; i < k; i++) {
for (int j = 1; j <= i + 1; j++)
g[j][i + 1] = col;
for (int j = i + 1; j < n; j++)
g[j][i] = col;
col = 3 - col;
}
for (int i = k; i < n; i++) {
for (int j = 2; j <= i + 2; j++)
g[j][i + 2] = col;
g[i + 2][i + 1] = col;
for (int j = i + 2; j < n; j++)
g[j][i] = col;
col = 3 - col;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
printf("%c", s[g[i][j]]);
printf("\n");
}
}
int main() {
int t, n;
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
if (n == 1)
printf("B\n");
else if (n == 6)
printf("YYYYYY\nGGRGRR\nGRRGRB\nGRGGRB\nGRGRRB\nGRGBBB\n");
else if (n >= 5)
solve(n);
else
printf("No solution!\n");
}
return 0;
}
题解:构造矩形,找到构造规律就好了。。。可是好难QAQ。1和6特殊处理,2、3、4无解,剩下的用规律构造之。
#include <stdio.h>
#include <string.h>
const int N = 105;
char s[5] = "BGRY";
int g
;
void solve(int n) {
memset(g, 0, sizeof(g));
for (int i = 0; i < n; i++)
g[0][i] = 3;
int k = (n - 1) / 2, col = 1;
for (int i = 0; i < k; i++) {
for (int j = 1; j <= i + 1; j++)
g[j][i + 1] = col;
for (int j = i + 1; j < n; j++)
g[j][i] = col;
col = 3 - col;
}
for (int i = k; i < n; i++) {
for (int j = 2; j <= i + 2; j++)
g[j][i + 2] = col;
g[i + 2][i + 1] = col;
for (int j = i + 2; j < n; j++)
g[j][i] = col;
col = 3 - col;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
printf("%c", s[g[i][j]]);
printf("\n");
}
}
int main() {
int t, n;
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
if (n == 1)
printf("B\n");
else if (n == 6)
printf("YYYYYY\nGGRGRR\nGRRGRB\nGRGGRB\nGRGRRB\nGRGBBB\n");
else if (n >= 5)
solve(n);
else
printf("No solution!\n");
}
return 0;
}
相关文章推荐
- 2014牡丹江网络预选赛B题(找规律)zoj3810
- 2017 CCPC 秦皇岛 & ZOJ 3981 - Balloon Robot 规律
- ZOJ问题(2010浙江大学研究生复试上机题目[找规律] hdoj 3788)
- ZOJ 3768Continuous Login(找规律然后二分)
- ZOJ 2316 Matrix Multiplication(找规律)(矩阵和它的转置矩阵之积)
- zoj 3810 A Volcanic Island
- 【商旅问题、找规律】ZOJ 1037 Gridland
- ZOJ 3778 Talented Chef(找规律,模拟计算,11届ACM省赛,简单)
- zoj 3622 Magic Number(找规律)
- zoj 1115 水题+找规律
- ZOJ 2316 Matrix Multiplication(找规律)(矩阵和它的转置矩阵之积)
- ZOJ 3810 A Volcanic Island (2014年牡丹江赛区网络赛B题)
- zoj2290 Game----博弈 打表找规律
- ZOJ 3785 What day is that day? 循环节找规律
- ZOJ 2316 Matrix Multiplication(找规律)(矩阵和它的转置矩阵之积)
- zoj 3622 Magic Number 【规律】
- ZOJ 3785 What day is that day?(循环节找规律)
- Zoj 3870——Team Formation——————【技巧,规律】
- ZOJ问题(2010浙江大学研究生复试上机题目[找规律] hdoj 3788)
- ZOJ1414 POJ1663 Number Steps 很简单的找规律题