結果
| 問題 | No.3743 World Mapper |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-18 22:59:40 |
| 言語 | C++23 (gcc 15.3.0 + boost 1.92.0 + ACL) |
| 結果 |
RE
不安定
|
| 実行時間 | - |
| コード長 | 1,358 bytes |
| 記録 | |
| コンパイル時間 | 1,982 ms |
| コンパイル使用メモリ | 343,168 KB |
| 実行使用メモリ | 9,924 KB |
| 最終ジャッジ日時 | 2026-09-19 13:25:17 |
| 合計ジャッジ時間 | 8,343 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge5_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点1 | 10 % | AC * 4 |
| 部分点2 | 10 % | AC * 9 |
| 部分点3 | 10 % | AC * 14 |
| 部分点4 | 10 % | AC * 19 |
| 部分点5 | 10 % | AC * 24 |
| 部分点6 | 10 % | AC * 29 |
| 部分点7 | 10 % | AC * 34 |
| 部分点8 | 10 % | AC * 39 |
| 部分点9 | 10 % | AC * 44 |
| 満点 | 10 % | AC * 44 RE * 5 |
| 合計 | 5 * 90% = 450 点 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
if(N>45){
return 1;
}
constexpr ll P = 2503;
constexpr ll G = 709;
constexpr ll M = P * (P - 1);
// Sidon set
vector<ll> a;
a.reserve(P - 1);
ll pw = 1;
for (ll k = 1; k <= P - 1; k++) {
pw = pw * G % P;
ll x = (k * P - pw * (P - 1)) % M;
if (x < 0) x += M;
a.push_back(x);
}
sort(a.begin(), a.end());
// 蛇行順での番号
auto id = [&](int r, int c) -> int {
if (r % 2 == 0) {
return r * N + c;
} else {
return r * N + (N - 1 - c);
}
};
auto weight = [&](int r1, int c1, int r2, int c2) -> ll {
return abs(a[id(r1, c1)] - a[id(r2, c2)]);
};
// v_{i,j}
// (r,c) - (r+1,c)
for (int r = 0; r + 1 < N; r++) {
for (int c = 0; c < N; c++) {
if (c) cout << ' ';
cout << weight(r, c, r + 1, c);
}
cout << '\n';
}
// h_{i,j}
// (r,c) - (r,c+1)
for (int r = 0; r < N; r++) {
for (int c = 0; c + 1 < N; c++) {
if (c) cout << ' ';
cout << weight(r, c, r, c + 1);
}
cout << '\n';
}
return 0;
}