N*N的棋盘
来源:互联网 发布:leave it as it is 编辑:程序博客网 时间:2024/04/28 16:34
N*N的棋盘
Time Limit:5s Memory Limit:1000k
Total Submit:3719 Accepted:1705
下载样例程序(PE)
下载样例程序(ELF)
Problem
在N*N的棋盘上(1<=N<=10)填入1,2,...N*N共N*N个数,使得任意两个相邻的数之和为素数.
例如,当N=2时,有
1 2
4 3
Input
输入第一行为一整数T,表示有T组测试数据.
每组测试数据一行,为一整数N(1<=N<=10)
Output
输出满足条件的最小序列的方案。
最小序列即将每一行连接起来组成一行,然后使前面的尽可能小,当第一个数字相同时则比较下面一个,依次类推。
比如当N=2时,序列为1 2 4 3,当无满足条件的方案时输出"NO"。
Sample Input
12
Sample Output
1 24 3
My Solution
#include <stdio.h>
#include <memory.h>
int main(int argc, char* argv[])
{
int pos[10 * 10];
char isPrime[200];
int N, count, i, j, N2;
int curr_pos, curr_value, a, b;
memset(isPrime, 1, sizeof(isPrime));
isPrime[0] = isPrime[1] = 0;
for(i = 2; i < sizeof(isPrime); i++){
a = i + i;
while(a < sizeof(isPrime)){
isPrime[a] = 0;
a += i;
}
}
scanf("%d", &count);
for(i = 0; i < count; i++){
scanf("%d", &N);
N2 = N * N;
curr_pos = 0; curr_value = 1;
while(1){
for(j = 0; j < curr_pos; j++){
if(pos[j] == curr_value){
goto find_next;
}
}
a = curr_pos / N;
b = curr_pos % N;
if(a > 0) if(!isPrime[pos[(a-1)*N+b] + curr_value]) goto find_next;
if(b > 0) if(!isPrime[pos[curr_pos-1]+ curr_value]) goto find_next;
pos[curr_pos] = curr_value;
curr_pos ++;
if(curr_pos >= N2){
for(a = 0; a < N; a++){
for(b = 0; b < N; b++){
printf("%d ", pos[a*N+b]);
}
putchar('/n');
}
break;
}
curr_value = 1;
continue;
find_next:
curr_value++;
if(curr_value > N2){
curr_pos--;
if(curr_pos < 0) puts("NO");
curr_value = pos[curr_pos]+1;
}
}
}
return 0;
}
超时。。。。。。
- N*N的棋盘
- N*N棋盘的非递归算法
- n×n棋盘上n皇后问题
- M*N棋盘上的K皇后问题
- 棋盘中走n步的所有可能走法
- n*m棋盘的长方形个数和正方形个数
- HDU 5100 Chessboard 用 k × 1 的矩形覆盖 n × n 的正方形棋盘
- 马的Hamilton周游问题,O(N)解决,N表棋盘规模
- 內固——n*n的棋盘上最多可以放多少个马
- (n++)+(n++)+(n++)与(++n)+(++n)+(++n)的区别
- N*N 的方阵
- N的N次方
- N的N次方
- N的N次方
- N的阶乘--N!
- N的N次方
- N的N次方
- N的N次方
- 让自己做得更好的几句格言
- ARM Boot 示例(汇编)
- SciTE,非常不错的文本编辑器
- Swing的产生与优点(原创)
- 软件从业者的学习方向和职业规划
- N*N的棋盘
- 批处理学习
- [转贴]电脑使用者的眼睛保护须知
- 利用DelayLoad来优化应用程序的性能,拦截API.
- .net里用javascript实现post提交
- 五一兼职有感
- .NET中导出excel/word等类型文件的简单方法(datagrid可分页,但导出的是datagrid的所有数据)
- QT4连接数据库
- 程序花花生(3)——身陷广州火车站的小女生