#10 WA,其余全 AC ,求 hack
查看原帖
#10 WA,其余全 AC ,求 hack
724593
Decepticon楼主2023/8/21 12:45

赛时测试

#include <bits/stdc++.h>
using namespace std;
int t;

int main(){
	cin >> t;
	for(int i = 1; i <= t; i++){
		int n,p;
		cin >> n >> p;
		if(p == 2){
			for(int j = 2; j <= n; j += 2)
			    cout << j << " ";
			for(int j = 1; j <= n; j += 2)
			    cout << j << " ";
			cout << "\n";
			continue; 
		} else if(p == 3){
			for(int j = 3; j <= n; j += 3)
			    cout << j << " ";
			for(int j = 1; j <= n; ){
				cout << j << " ";
				if(j % 3 == 2){
					j += 2;
				} else {
					j++;
				}
			}
			cout << "\n";
			continue;
		} else if(n*2-1 < p){
			for(int j = 1; j <= n; j++)
			    cout << j << " ";
			cout << "\n";
			continue;
		} else if(n*2-1 == p){
			cout << n << " " << n-1 << " ";
			for(int j = 1; j <= n-2; j++)
			    cout << j << " ";
			cout << "\n";
			continue;
	    } else if(n == 1){
	    	cout << 1 << "\n";
		} else if(n <= p){
			if(n == p){
				cout << n << " ";
				int l = 1,r = p-1;
				while(l <= r){
					if(l == r){
						cout << l << " ";
						break;
					}
					cout << l << " " << r << " ";
					l++;
					r--;
				}
			} else {
				int l = p-n,r = n;
				for(int j = 1; j < l; j++)
				    cout << j << " ";
				while(l <= r){
					if(l == r){
						cout << l << " ";
						break;
					}
					cout << l << " " << r << " ";
					l++;
					r--;
				}
			}
			cout << "\n";
		} else {
			for(int j = p; j <= n; j += p)
			    cout << j << " ";
			int l = 1,r = p-1;
			while(l <= r){
				if(l == r){
					for(int j = l; j <= n; j += p)
					    cout << j << " ";
					break;
				}
				for(int j = l; j <= n; ){
					cout << j << " ";
					if(j % p == l){
						j += (r-l);
					} else {
						j += p;
						j -= (r-l);
					}
				}
	            l++;
				r--;    
			}
			cout << "\n"; 
		}
	}
	return 0;
}

2023/8/21 12:45
加载中...