听说,灌水区大佬多
  • 板块灌水区
  • 楼主lianchanghua
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/21 21:52
  • 上次更新2023/11/3 02:07:13
查看原帖
听说,灌水区大佬多
564475
lianchanghua楼主2023/8/21 21:52

RE 40分

#include<bits/stdc++.h>
using namespace std;
map<int,vector<int> >pr;
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	int T;
	cin>>T;
	while(T--){
		int n,p;
		cin>>n>>p;
		if(p==2){
			for(int i=1;i<=n;i++){
				if(i%2==1)	cout<<i<<" ";
			}
			for(int i=1;i<=n;i++){
				if(i%2==0)	cout<<i<<" ";
			}
			cout<<"\n";
			continue;
		}
		for(int i=0;i<=p;i++)	pr[i].clear();
		for(int i=1;i<=n;i++)	pr[i%p].push_back(i);
		for(int i=0;i<p;i++){
			int a=i,b=p-i;
			while(!pr[a].empty()&&!pr[b].empty()){
				cout<<pr[a].front()<<" "<<pr[b].front()<<" ";
				pr[a].erase(pr[a].begin());
				pr[b].erase(pr[b].begin());
			}
			if(pr[a].empty()){
				while(!pr[b].empty()){
					cout<<pr[b].front()<<" ";
					pr[b].erase(pr[b].begin());
				}
			}
			else if(pr[b].empty()){
				while(!pr[a].empty()){
					cout<<pr[a].front()<<" ";
					pr[a].erase(pr[a].begin());
				}
			}
		}
		cout<<"\n";
	}
	return 0;
}

题目链接:Link

2023/8/21 21:52
加载中...