Codeforces Round #109 (Div. 1)B 数论
来源:互联网 发布:淘宝详情图片格式要求 编辑:程序博客网 时间:2024/06/06 06:11
//两个数如果不是互质,那么它们一定有一个质数因子
//用vec存入2到n的所有的质数因子
//用vis存入有该因子的数是否读入
//处理时只需要维护vis这个数组就行
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std ;
const int maxn = 100010 ;
vector<int> vec[maxn];
int isp[maxn] ;
int vis[maxn] ;
int num[maxn] ;
void set()
{
memset(isp, 0 ,sizeof(isp)) ;
isp[1] = 1;
for(int i = 2;i < maxn ;i += 2)
{
isp[i] = 1;
vec[i].push_back(2) ;
}
for(int i = 3;i < maxn ;i++)
{
if(isp[i])continue ;
for(int j = i;j < maxn ;j+=i)
{
isp[j] = 1;
vec[j].push_back(i) ;
}
}
}
int main()
{
//freopen("input.txt" ,"r",stdin) ;
set() ;
int n , m ;
char ch;int i ;
while(~scanf("%d%d" ,&n , &m))
{
memset(num , 0 , sizeof(num)) ;
memset(vis , 0 , sizeof(vis)) ;
while(m--)
{
scanf("%c%c%d" ,&ch ,&ch, &i) ;
//cout<<ch<<endl;
if(ch == '-')
{
//cout<<i<<endl;
if(!num[i])puts("Already off");
else
{
puts("Success");
num[i] = 0;
for(int j = 0;j < vec[i].size() ;j++)
vis[vec[i][j]] = 0;
}
}
if(ch == '+')
{
if(num[i])puts("Already on");
else
{
int flag = 0 ;
for(int j = 0;j < vec[i].size();j++)
{
int t = vec[i][j] ;
if(vis[t])
{
printf("Conflict with %d\n" , vis[t]) ;
flag = 1;
break;
}
}
if(!flag)
{
puts("Success");
// cout<<i<<endl;
num[i] = 1;
for(int j = 0;j < vec[i].size();j++)
vis[vec[i][j]] = i;
}
}
}
}
}
return 0 ;
}
//用vec存入2到n的所有的质数因子
//用vis存入有该因子的数是否读入
//处理时只需要维护vis这个数组就行
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std ;
const int maxn = 100010 ;
vector<int> vec[maxn];
int isp[maxn] ;
int vis[maxn] ;
int num[maxn] ;
void set()
{
memset(isp, 0 ,sizeof(isp)) ;
isp[1] = 1;
for(int i = 2;i < maxn ;i += 2)
{
isp[i] = 1;
vec[i].push_back(2) ;
}
for(int i = 3;i < maxn ;i++)
{
if(isp[i])continue ;
for(int j = i;j < maxn ;j+=i)
{
isp[j] = 1;
vec[j].push_back(i) ;
}
}
}
int main()
{
//freopen("input.txt" ,"r",stdin) ;
set() ;
int n , m ;
char ch;int i ;
while(~scanf("%d%d" ,&n , &m))
{
memset(num , 0 , sizeof(num)) ;
memset(vis , 0 , sizeof(vis)) ;
while(m--)
{
scanf("%c%c%d" ,&ch ,&ch, &i) ;
//cout<<ch<<endl;
if(ch == '-')
{
//cout<<i<<endl;
if(!num[i])puts("Already off");
else
{
puts("Success");
num[i] = 0;
for(int j = 0;j < vec[i].size() ;j++)
vis[vec[i][j]] = 0;
}
}
if(ch == '+')
{
if(num[i])puts("Already on");
else
{
int flag = 0 ;
for(int j = 0;j < vec[i].size();j++)
{
int t = vec[i][j] ;
if(vis[t])
{
printf("Conflict with %d\n" , vis[t]) ;
flag = 1;
break;
}
}
if(!flag)
{
puts("Success");
// cout<<i<<endl;
num[i] = 1;
for(int j = 0;j < vec[i].size();j++)
vis[vec[i][j]] = i;
}
}
}
}
}
return 0 ;
}
0 0
- Codeforces Round #109 (Div. 1)B 数论
- Codeforces Round #276 (Div. 1) B. Maximum Value(数论)
- Codeforces Round #152 (Div. 2) / 248B Chilly Willy (数论)
- Codeforces Round #260 (Div. 2) B (数论)
- Codeforces Round #430 (Div. 2) B. Gleb And Pizza(数论)
- Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) B. Bash's Big Day 数论+贪心
- Codeforces Round #131 (Div. 1) B. Numbers
- Codeforces Round #119 (Div. 1) B. AlgoRace
- Codeforces Round #215 (Div. 1) <A-B>
- Codeforces Round #225 (Div. 1) B. Volcanoes
- Codeforces Round #230 (Div. 1)B,C
- Codeforces Round #239 (Div. 1)(A,B)
- Codeforces Round #253 (Div. 1)-A,B
- Codeforces Round #254 (Div. 1)-A,B
- Codeforces Round #240 (Div. 1)B
- Codeforces Round #259 (Div. 1) B题
- Codeforces Round #268 (Div. 1) B
- Codeforces Round #282 (Div. 1) B
- 猜数字游戏(Bull and Cows)
- 解决ScrollView和GridView冲突
- 第九周 项目二:Time类中的运算符重载(续)
- CSS相对定位实现DIV层的投影(阴影)效果
- leetcode之Number of 1 Bits
- Codeforces Round #109 (Div. 1)B 数论
- 跟鸟哥学Linux之——shell script
- 微信的两个小功能------“摇一摇搜歌”和“雷达加好友”确实打动了我
- 做一名优秀的管理者,否则你可能将沦为一名谋杀者。
- vim保存没有权限修改的文件
- Java NIO使用及原理分析(一)
- HDU ACM 1281 棋盘游戏->二分图最大匹配(匈牙利算法实践)
- 【最短路】 ZOJ 3877 Earthstone Keeper
- 普通树的非递归遍历