The 2024 Shanghai Collegiate Programming Contest

E - 无线软件日

(J) 极简合数序列

(A) 无线网络整点栅格统计

正方形中心(cx,cy)=((a+c)/2,(b+d)/2)
对角线向量(dx,dy)=((c-a)/2,(d-b)/2)
逆时针旋转90度,(-dy,+dx)顺时针(+dy,-dx) (x1,y1)=(cx-dy,cy+dx)=((a+c-d+b)/2,(b+d+c-a)/2) (x2,y2)=

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define int long long
void solve(){
    int n,m;
    cin>>n>>m;

    for(int a=0;a<=n;a++){
        for(int b=0;b<=m;b++){
            int ans=0;
            for(int c=0;c<=n;c++){
                for(int d=0;d<=m;d++){
                    if(a==c&&b==d)continue;
                    if((a+c+d-b)%2==0){
                        int x3=(a+c-d+b)/2;int y3=(b+d+c-a)/2;int x4=(a+c+d-b)/2;int y4=(b+d-c+a)/2;
                         if(x3>=0&&x3<=n&&y3>=0&&y3<=m&&x4>=0&&x4<=n&&y4>=0&&y4<=m)ans++;
                    }
                }
            }
            cout<<ans<<' ';
        }cout<<'\n';
    }
   
}
signed main(){
    std::ios::sync_with_stdio(false);
    int T;T=1;
    while(T--){
        solve();
    }
}
posted @ 2025-08-31 12:02  arin876  阅读(2)  评论(0)    收藏  举报