#37718: C++解法


100200 (Yu Xuan)

學校 : 高雄市立高雄高級中學
編號 : 169890
來源 : [101.8.39.61]
最後登入時間 :
2024-05-08 18:03:53
k732. 2. 特殊位置 -- 2023年6月APCS | From: [58.115.145.189] | 發表日期 : 2023-10-02 03:57

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a[55][55];
    int n, m;
    scanf("%d %d", &n, &m);
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++) scanf("%d", &a[i][j]);
    }
    int num=0;
    pair<int,int> point[2550];

    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            int distance=a[i][j];
            int sum=0;
            for (int x=max(0, i-distance); x<=min(n-1, i+distance); x++)
            {
                for (int y=max(0, j-distance); y<=min(m-1, j+distance); y++)
                {
                    if(abs(x-i)+abs(y-j)<=distance) sum+=a[x][y];
                }
            }
            if(sum%10==distance)
            {
                point[num++]={i,j};
            }
        }
    }
    printf("%d\n", num);
    for (int i=0; i<num; i++) printf("%d %d\n", point[i].first, point[i].second);
}

 
ZeroJudge Forum