20pts 求助
查看原帖
20pts 求助
1453120
DongdongMan楼主2024/10/21 19:56

众所周知能运行就是好代码

#include<bits/stdc++.h>
using namespace std;

int x[101],y[101],d[101][101],c[1][2],e[1][2],a,b;
int hen(int a,int b){
   for(int i=a+1;i<b;i++){
   	d[x[i]][i]=3;
   }
   return 0;
}
int shu(int a,int b){
   for(int i=a;i<=b;i++){
   	d[i][y[i]]=3;
   }
   return 0; 
}
int xie(int a,int b,int c,int s){
     if(b>s){
     for(int i=1;i<=c;i++){
     	d[b+i][s-i]=3;
     }
}
     else{
     	for(int i=1;i<=c;i++){
     		d[b-i][s+i]=3;
   	  }
     }
     return 0; 
}
bool li(int a,int b){
   for(int i=2;1;i++){
   	for(int j=2;1;j++){
   		if((d[i][j]!=3||d[i][j]!=4)&&(j>b||i>a)){
   			return false;
   	}
   }
   return true;
}
}
int main(){
   //freopen(" ","r",stdin);
   //freopen(" ","w",stdout);
   ios::sync_with_stdio(false);
   cin.tie(0);
   for(int i=1;i<=3;i++){
   	cin>>x[i]>>y[i];
   	d[x[i]][y[i]]=4;
   	if(y[i]>c[1][2]){
   		c[1][1]=x[i];
   		c[1][2]=y[i];
   	}
   	if(x[i]>d[1][1]){
   		d[1][1]=x[i];
   		d[1][2]=y[i];
   	}
   	if(x[i]==x[i-1]){
   		hen(max(y[i],y[i-1]),min(y[i],y[i-1]));
   	}
   	if(y[i]==y[i-1]){
   		shu(max(x[i],x[i-1]),min(x[i],x[i-1]));
   	}
   }
   xie(c[1][1],c[1][2],d[1][1],d[1][2]);
   cin>>a>>b;
   if(d[a][b]==0&&li(c[1][2],d[1][1])){
   	cout<<"1";
   	exit(0);
   }
   cout<<d[a][b];
   return 0;
}
2024/10/21 19:56
加载中...