标题: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
编译无异常,哪里不行?
2017-03-25 14:21
Queenlight
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2017-3-14
得分:0 
回复 2楼 吹水佬
没有输出。。。。
2017-04-06 19:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475475-1-1.html




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

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