社区讨论
玄关求优化
P1871对撞机参与者 3已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @mdb6oy1j
- 此快照首次捕获于
- 2025/07/20 12:35 8 个月前
- 此快照最后确认于
- 2025/07/20 16:38 8 个月前
rt. 70pts,求优化 算法,怀疑是它的问题,会用的卡常技巧都用上了
CPP#include<bits/stdc++.h>
#define gcd __gcd
using namespace std;
const int N=1e5+10;
int n,m;
bool a[N];
int read(){
int x=0,w=1;
char ch=0;
while (ch<'0'||ch>'9') {
if(ch=='-') w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') {
x=x*10+(ch-'0');
ch=getchar();
}
return x*w;
}
inline void write(int x) {
static int sta[35];
int top=0;
do{
sta[top++]=x%10,x/=10;
}while(x);
while(top){
putchar(sta[--top]+48);
}
}
int main(){
memset(a,false,sizeof(a));
n=read(),m=read();
while(m--){
char c;
int x;
cin>>c;
x=read();
if(c=='+'){
bool con=false;
if(a[x]==true){
cout<<"Already on"<<endl;
continue;
}
for(int i=1;i<=n;i++){
if(gcd(i,x)!=1&&a[i]==true){
printf("Conflict with %d\n",i);
con=true;
break;
}
}
if(con==false){
printf("Success\n");
a[x]=true;
}
}else if(c=='-'){
if(a[x]==false){
printf("Already off\n");
}else{
printf("Success\n");
a[x]=false;
}
}
}
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...