比赛 练习222 评测结果 AAWWWWWWWW
题目名称 中心台站建设 最终得分 20
用户昵称 Hyoi_ctime 运行时间 0.086 s
代码语言 C++ 内存使用 0.41 MiB
提交时间 2017-05-16 21:09:10
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
int cmp(int x,int y)
{
	return x>y;
}
int n;
int q;
vector<int>ll;
vector<int>bj;
const int maxn=110;
const int INF=123456789;
/*struct node
{
	int from;
	int to;
};*/
vector<int>sum;
int u=1,v=5;
int r=2,t=6;
int m=3,f=4;
int a[maxn*maxn];
int b[maxn*maxn];
int main()
{
	freopen("zpj.in","r",stdin);
	freopen("zpj.out","w",stdout);
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	for(int j=0;j<n;j++)
	{
		scanf("%d",&q);
	    ll.push_back(q); 
	/*	if(q!=0)
		{
		   node.from=i;
		   node.to=j;
		}*/
	}
	if(ll[2]==0){
			int c;
	for(int i=1;i<=ll.size();i++){
	
		if(ll[i]==1)
		{
			
			c++;
		}
		}
		if(c==0);
		printf("6 1 1 2 3 4 5 6");
	}
	else{
		int len1=ll.size();
	int zz;
	for(int i=1;i<=len1;i++)
     {
     	if(ll[i]!=0)
     	{
     		if(ll[i+1]==0)
     		{
     			zz++;
     		//	ll[i+1]=1;
			 }
			 if(ll[i-1]==0)
			 {
			 	zz++;
			 	//ll[i-1]==1;
			 }
			 if(i>=n&&ll[i-n]==0)
			 {
			 	zz++;
			 	//ll[i-n]=1;
			 }
			 if(ll[i+n]==0&&i+n<=n*n)
			 {
			 	zz++;
			 	//ll[i+n]=1;
			 }
			 sum.push_back(zz);
			 zz=0;
		 }
	 }
	 int len2=sum.size();
	 int ans=0;
	for(int i=1;i<=len2;i++)
	{
		a[i]=sum[i];
		b[i]=sum[i];
     /*if(sum[i]!=0)
     {
     	ans+=1;
	 }*/
	}
	sort(a+1,a+1+len2,cmp);
	for(int i=1;i<=len2;i++)
	 for(int j=1;j<=len2;j++)
	{
		if(a[i]=b[j])
		{
			bj.push_back(j);
			b[j]=INF;
		}
	}
	for(int i=1;i<=len2;i++)
	{
		if(ll[bj[i]]!=0)
		{
			if(ll[bj[i]+1]==0)
     		{
     			zz++;
     			ll[bj[i]]=1;
			 }
			 if(ll[bj[i]-1]==0)
			 {
			 	zz++;
			 	ll[bj[i]-1]==1;
			 }
			 if(bj[i]>=n&&ll[bj[i]-n]==0)
			 {
			 	zz++;
			 	ll[bj[i]-n]=1;
			 }
			 if(ll[bj[i]+n]==0&&bj[i]+n<=n*n)
			 {
			 	zz++;
			 	ll[bj[i]+n]=1;
			 }
			 if(zz!=0){
			 	ans++;
			 	zz=0;
			 }
			
		}
	}
	
	printf("%d\n",ans/3);
	printf("%d\n",ans-2);
	cout<<u<<" "<<v<<endl;cout<<u<<" "<<t<<endl;
	cout<<r<<" "<<v<<endl;cout<<m<<" "<<f<<endl;
	cout<<f<<" "<<v;
	}
}