結果

問題 No.3334 I hate Image Convolution
コンテスト
ユーザー 달콤한마시로
提出日時 2025-11-12 09:52:42
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 150 ms / 3,000 ms
コード長 818 bytes
コンパイル時間 618 ms
コンパイル使用メモリ 45,312 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2025-11-12 09:53:14
合計ジャッジ時間 23,794 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 56
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘ll readint()’:
main.cpp:10:34: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   10 | ll readint() { long long n; scanf("%lld", &n); return n; }
      |                             ~~~~~^~~~~~~~~~~~

ソースコード

diff #

#include <cstdio>
#include <algorithm>
using std::scanf;
using std::printf;
using ll = long long;

const int MAXN=700+10;
int arr[MAXN*MAXN];
int board[MAXN][MAXN];
ll readint() { long long n; scanf("%lld", &n); return n; }
signed main() {
 int ntc = readint();
 for (int itc = 0; itc < ntc; ++itc) {
  int n = readint() - 1;
  for (int i = 0; i < n*n; ++i) arr[i] = readint();
  std::sort(arr, arr + n*n);
  for (int r=0;r<=n;++r)for (int c=0;c<=n;++c) board[r][c] = 0;
  for (int r=0;r<n;++r)for (int vc=0;vc<n;++vc) {
   int v = arr[r*n+vc];
   int c = r%2?n-1-vc:vc;
   int tgc = r%2?c:c+1;
   board[r+1][tgc]=v
    -board[r+0][c+0]
    -board[r+0][c+1]
    -board[r+1][c+0]
    -board[r+1][c+1]
   ;
  }
  for (int r=0;r<=n;++r)for (int c=0;c<=n;++c) printf("%d%c", board[r][c],c+1<=n?' ':'\n');

 }
 return 0;
}
0