Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33951 申东铉 【S】T2 C++ 运行超时 70 1251 MS 1164 KB 1142 2024-10-30 16:43:35

Tests(7/10):


#include <bits/stdc++.h> using namespace std; int n,k; vector <pair <int,int> > vc; int main () { cin >> n >> k; if (n % 2 == 0) { cout << -1 << endl; return 0; } int g = __gcd(n,k); int m = n / g; for (int i = 1;i < g;i++) { int u = i,v = (i + k) % n; for (int j = 1;j <= m / 2;j++) { vc.push_back(make_pair(u,v)); u = (u + 2 * k) % n; v = (v + 2 * k) % n; } } int u = 0,v = k % n; for (int i = 1;i < g;i++) { vc.push_back(make_pair(i,u)); u = (u + k) % n; v = (v + k) % n; } for (int i = g;i < m;i += 2) { vc.push_back(make_pair(u,v)); u = (u + 2 * k) % n; v = (v + 2 * k) % n; } cout << vc.size() << endl; for (auto p : vc) { cout << p.first << ' ' << p.second << endl; } return 0; } //hahaha //一直以为假了,gcd > 根号n不会做 //后来加了个特判,直接输出-1 //经过一些神秘的数学推算发现 //gcd只能等与n //最后发现k<n 蛤铪哈口合 //根本似不了一点


测评信息: