CodeForces 483B
来源:互联网 发布:cnas 软件测试 编辑:程序博客网 时间:2024/05/19 07:43
题目大意:
你有两个朋友 你将对每一个朋友展示几个正整数
向第一个朋友展示 cnt1 个 向第二个朋友展示 cnt2 个
每个人的展示数唯一不重复
然而,第一个朋友不喜欢能被素数x整除的数字
第二个朋友不喜欢能被素数y整除的数字
你自然不会给你的朋友展示不喜欢的东西
你的任务是找到这样的最小数量v,你可以使用一组1,2,…,v中的数字来形成礼物
当然,您可以选择不提供一些数字。
如果大于1的正整数除了1和它本身之外没有正除数,则称为素数。
输入:
唯一的行包含四个正整数cnt1,cnt2,x,y(1≤cnt1,cnt2 <10^9; cnt1 +cnt2≤10^9;2≤x ,y≤3*10^4) - 语句中描述的数字。
数字x,y保证是素数。
输出:
唯一正整数v
想法:
本来就想做两个1000*1000*1000的数组的。。但是想了想这里可能用指针比较合适(或许这个题目也很适合用栈结构),主要考虑的是动态生成数据链。
#include<iostream>using namespace std;void San(long long cnt1, long long cnt2, int x, int y);struct p{ long long num; struct p *next;};int main(){ long long cnt1, cnt2; int x, y; while (true) { cin >> cnt1 >> cnt2 >> x >> y; San(cnt1, cnt2, x, y); } return 0;}void San(long long cnt1, long long cnt2, int x, int y){ p *p1; p *p2; p1 = new p; p1->num = 0; p1->next = NULL; p2 = new p; p2->num = 0; p2->next = NULL; if (y<x) { int z = x; x = y; y = z; } long long i = 1; int xflag = 0; int yflag = 0; p *p11 = p1; p *p22 = p2; while (xflag != cnt1||yflag != cnt2) { if (i%x != 0 && xflag<cnt1) { p11->num = i; p11->next = new p; p11 = p11->next; p11->num = 0; p11->next = NULL; xflag++; } else if (i%y == 0 && yflag<cnt2) { if (i%x == 0 || (p1->num == 0)) ; else if (p1->num%y == 0) { p *temp = p1; p1 = p1->next; delete temp; } else { p22->num = p1->num; p22->next = new p; p22->num = 0; p22 = p22->next; p1->num = i; yflag++; } } else if (i%y != 0 && yflag<cnt2) { p22->num = i; p22->next = new p; p22 = p22->next; p22->num = 0; p22->next = NULL; yflag++; } i++; } cout << i-1 << endl; while (p1->next != NULL) { p *temp = p1; p1 = p1->next; delete temp; } while (p2->next != NULL) { p *temp = p2; p2 = p2->next; delete temp; }}
阅读全文
1 0
- codeforces 483B
- CodeForces 483B(水题)
- CodeForces 483B
- codeforces B
- codeforces B
- codeforces B
- codeforces B
- codeforces 483b Friends and Presents 二分
- codeforces 483B Friends and Presents
- CodeForces - 483B Friends and Presents
- codeforces 483B. Friends and Presents
- CodeForces-483B Friends and Presents(二分)
- CodeForces 626B CodeForces 626B【暴力】
- CodeForces 841B (B) 博弈
- codeforces 134B
- codeforces#98 b
- codeforces 105 div2 B
- Codeforces 166B - Polygons
- Android编译选项eng、user、userdebug的区别
- CodeChef:Devasena(数论)
- 【安全牛学习笔记】选择和修改EXP
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 对Extjs下拉列表动态添加和删除数据
- CodeForces 483B
- 欢迎使用CSDN-markdown编辑器
- 厉害了!人工智能大战即将爆发?关键在这里
- [MYSQL-4] 检索数据
- QT+WINDOWS下载
- 读《jQuery技术内幕》(01)
- python常用命令
- C++ 自定义对象做map的键
- Java内存模型(JMM)