666怎么都这么长啊
2025-02-23 18:49:31
发布于:北京
6阅读
0回复
0点赞
思路自己看着吧,好久之前写的了,早忘了
#include<iostream>
using namespace std;
#define ll long long
ll n,m,q,a,b,c,d;
ll ans[2],cnt[505][505];
bool can(ll x,ll y){return x>=1&&x<=n&&y>=1&&y<=m;}
int main(){
cin>>n>>m>>q;
while(q--){
for(ll i=0;i<2;i++){
cin>>a>>b>>c>>d;
if(a==c){
if(b<d){
cnt[a-1][b]++;
cnt[a][b]++;
ans[i]+=(cnt[a-1][b]==4&&can(a-1,b))+(cnt[a][b]==4&&can(a,b));
}
else{
cnt[a-1][d]++;
cnt[a][d]++;
ans[i]+=(cnt[a-1][d]==4&&can(a-1,d))+(cnt[a][d]==4&&can(a,d));
}
}
else{
if(a<c){
cnt[a][b-1]++;
cnt[a][b]++;
ans[i]+=(cnt[a][b-1]==4&&can(a,b-1))+(cnt[a][b]==4&&can(a,b));
}
else{
cnt[c][b-1]++;
cnt[c][b]++;
ans[i]+=(cnt[c][b-1]==4&&can(c,b-1))+(cnt[c][b]==4&&can(c,b));
}
}
}
}
cout<<ans[0]<<' '<<ans[1];
return 0;
}
这里空空如也
有帮助,赞一个