社区讨论
60分求调
P4305[JLOI2011] 不重复数字参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo2ybczr
- 此快照首次捕获于
- 2023/10/23 21:46 2 年前
- 此快照最后确认于
- 2023/10/23 21:46 2 年前
样例过了,但是60分
CPP#include <cstdio>
#include <set>
#include <iostream>
using namespace std;
set<int> st; //用于判断是否重复
int t; //题目,T组数据
int num[10000][10000];
/*最终输出内容,左边用于对T组数据不同答 案进行排序
右边用于对每一个T组的数据进行存放*/
int c[51]; //存放T组不同组数据的长度
int tmp=0;
//T组数据,但是由于T是从大到小的,所以tmp就是从小到大的T
int cnt;
//每T组数据的内容的长度
int main()
{
cin>>t;
while(t--)
{
cin>>cnt;
c[tmp]=cnt; //记录第T组数据的长度
int y=0;
for(int i=0;i<cnt;i++)
{
int x;
scanf("%d",&x);
if(st.count(x))//判断是否重复
{
--c[tmp];
continue;
}//如果是,直接进入下一步
else{ //暂时没重复
st.insert(x); //感觉备案
num[tmp][y]=x; //把暂时没有的数,存进去
y++;
}
}tmp++;
st.clear();//防止数据出错
y=0;
}
for(int i=0;i<=tmp;i++)
{
int x=c[i];
for(int j=0;j<x;j++)
{
printf("%d ",num[i][j]);
}cout<<endl;
}return 0;
```
回复
共 0 条回复,欢迎继续交流。
正在加载回复...