| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1269 人关注过本帖
标题:uva750-8 Queens Chess Problem请问我这样写为什么不行?
只看楼主 加入收藏
Queenlight
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2017-3-14
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
uva750-8 Queens Chess Problem请问我这样写为什么不行?
#include<stdio.h>
#include <stdlib.h>
#define N 15

int n;
int max;
int x[N], num[95][10];

int place(int k)
{
    int i;
    for(i=1; i<k; i++)
        if(abs(k-i)==abs(x[k]-x[i]) || x[k] == x[i])
            return 0;
    return 1;
}

void queen(int cur)
{
    int i, sum = 1;
    if(cur>8 && cur>0)
        sum++;
    else
        for(i=1; i<=8; i++)
        {
            x[cur] = i;
            if(place(cur))
            {
                num[sum][cur] = x[cur];
                cur++;
                queen(cur);
            }
        }
}

int main()
{
    int n, p, q;
    int i, j;
    while(scanf("%d",&n)==1)
    {
        queen(1);
        while(n--)
        {
            scanf("%d%d", &p, &q);
            printf("SOLN       COLUMN\n");
            printf(" #      1 2 3 4 5 6 7 8\n\n");
            int count = 1;
            for (i = 1; i <= count ; i++)
                if(num[i][q] == p)
                {
                    printf("%2d     ", count++);
                    for (j = 1; j <= 8 ; j++)
                        printf(" %d",num[i][j]);
                    printf("\n");
                }
            if(n) printf("\n");
        }
    }
    return 0;
}


[此贴子已经被作者于2017-3-25 12:55编辑过]

搜索更多相关主题的帖子: include return queen 
2017-03-25 12:53
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10559
专家分:42996
注 册:2014-5-20
收藏
得分:20 
编译无异常,哪里不行?
2017-03-25 14:21
Queenlight
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2017-3-14
收藏
得分:0 
回复 2楼 吹水佬
没有输出。。。。
2017-04-06 19:29
快速回复:uva750-8 Queens Chess Problem请问我这样写为什么不行?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017824 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved