1 条题解

  • 0
    @ 2025-10-1 15:55:59
    #include <bits/stdc++.h>
    #define pb emplace_back
    #define fst first
    #define scd second
    #define mkp make_pair
    #define mems(a, x) memset((a), (x), sizeof(a))
    
    using namespace std;
    typedef long long ll;
    typedef double db;
    typedef unsigned long long ull;
    typedef long double ldb;
    typedef pair<ll, ll> pii;
    
    void solve() {
    	int n, m;
    	scanf("%d%d", &n, &m);
    	if (m * 2 > n) {
    		for (int i = 1; i <= n; ++i) {
    			int x = i;
    			if (i == m) {
    				x = n;
    			} else if (i > m) {
    				--x;
    			}
    			printf("%d%c", x, " \n"[i == n]);
    		}
    	} else {
    		while (n % m) {
    			--m;
    		}
    		for (int i = 1; i <= n; ++i) {
    			int t = i;
    			if (i > m && (i - 1) % m == 0) {
    				t += m - 1;
    			} else if (i > m) {
    				--t;
    			}
    			printf("%d%c", t, " \n"[i == n]);
    		}
    	}
    }
    
    int main() {
    	int T = 1;
    	scanf("%d", &T);
    	while (T--) {
    		solve();
    	}
    	return 0;
    }
    
    
    • 1

    信息

    ID
    103
    时间
    2000ms
    内存
    512MiB
    难度
    9
    标签
    递交数
    73
    已通过
    7
    上传者