1 条题解

  • 0
    @ 2026-10-25 14:06:59

    思路

    棋盘至10,分别构造同行列和两条对角线并按规定方向输出。按题面规定的输入输出协议处理;数据、边界和算法核验记录保存在本批教师资料。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    long long gcdll(long long a,long long b){while(b){long long t=a%b;a=b;b=t;}return a;}
    int main(){ios::sync_with_stdio(false);cin.tie(nullptr);const int p=1120;
    int n,r,c;cin>>n>>r>>c;for(int mode=0;mode<4;mode++){vector<pair<int,int>>v;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if((mode==0&&i==r)||(mode==1&&j==c)||(mode==2&&i-j==r-c)||(mode==3&&i+j==r+c))v.push_back({i,j});if(mode==3)reverse(v.begin(),v.end());for(size_t i=0;i<v.size();i++)cout<<(i?" ":"")<<"("<<v[i].first<<","<<v[i].second<<")";cout<<"\n";}
    cout<<"\n";return 0;}
    
    • 1

    信息

    ID
    1001
    时间
    1000ms
    内存
    64MiB
    难度
    进阶
    标签
    递交数
    1
    已通过
    1
    上传者