糯米

TI DaVinci, gstreamer, ffmpeg
随笔 - 167, 文章 - 0, 评论 - 47, 引用 - 0
数据加载中……

POJ 1659 Frogs' Neighborhood 搜索

 

#include <stdio.h>
#include 
<string.h>

int T, N, arr[16], map[16][16];

int dfs(int idx, int i)
{
    
if (idx >= N)
        
return 1;
    
if (!arr[idx])
        
return dfs(idx + 1, idx + 2);
    
for ( ; i < N; i++{
        
if (!arr[i])
            
continue;
        arr[i]
--;
        arr[idx]
--;
        map[idx][i]
++;
        map[i][idx]
++;
        
if (dfs(idx, i + 1))
            
return 1;
        arr[i]
++;
        arr[idx]
++;
        map[idx][i]
--;
        map[i][idx]
--;
    }

    
return 0;
}


int main()
{
    
int i, j;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d"&T);
    
while (T--{
        scanf(
"%d"&N);
        
for (i = 0; i < N; i++)
            scanf(
"%d"&arr[i]);
        memset(map, 
0sizeof(map));
        
if (dfs(01)) {
            printf(
"YES\n");
            
for (i = 0; i < N; i++{
                
for (j = 0; j < N; j++)
                    printf(
"%d ", map[i][j]);
                printf(
"\n");
            }

            printf(
"\n");
        }
 else 
            printf(
"NO\n\n");
    }


    
return 0;
}

posted on 2010-04-06 22:44 糯米 阅读(170) 评论(0)  编辑 收藏 引用 所属分类: POJ


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理