spoj 178

输出相邻的点   比较简单吧.......

#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
    int t,n;
    int G[200][200];
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(int i = 0; i < n; i++)
            for(int j = 0; j < n; j++)
                scanf("%d",&G[i][j]);
        for(int i = 0; i < n; i++)
        {
            for(int j = i+1; j < n; j++)
            {
                bool flag = false;
                for(int k = 0; k < n; k++)
                    if(k != i && k!=j && G[i][k]+G[k][j] == G[i][j])
                    flag = true;
                if(!flag) printf("%d %d\n",i+1,j+1);
            }
        }
    }
    return 0;
}


posted @ 2013-08-20 14:08  xlc2845  阅读(109)  评论(0)    收藏  举报