zoukankan      html  css  js  c++  java
  • 1e9个兵临城下(容斥原理)

    链接:https://ac.nowcoder.com/acm/contest/321/A
    来源:牛客网
     

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

     “FF来训练!”“一定来!”

    FF成天到晚咕了NE的训练。这可把NE急坏了。为了拯救ff的知识勺,拥有知识海的NE决定去现实gank一波FF,逼他训练。

    可去gank了几波发现ff居然有着成千上万的小伙伴在帮助FF阻拦NE,这几次gank,NE都失败了。无奈之下痛定思痛,NE决定也带上自己的109个小伙伴去gankFF。

    FF提前得知了这个消息,这可把FF急坏了.那可是109个人啊!

    这时FF的小伙伴EN说:“FF莫慌,我这里有3盏BD哥的神灯,上面分别有一个素数,可以让编号被上面的数字整除的人昏睡过去,这样就可以大大削减NE的人数!”(FF所带的109个人分别被编号为1~109)

    FF:“好!”。FF如同找到了救命稻草。但是由于只能削减一部分人数,FF需要召集的人数应该大于等于NE剩下的人数,但是时间紧急,FF算不出来了,你能告诉FF至少要准备多少人吗?

    输入描述:

    
     

    第一行包含一个正整数T(T<200)

    之后的T行每行包含3个正整数,a,b,c(2<=a,b,c<106;a!=b,b!=c,c!=a;保证a,b,c为素数)

    分别代表3盏神灯上的数字。

    输出描述:

    输出T行
    每行一个整数,表示FF至少要准备的人数。

    示例1

    输入

    复制

    3
    2 3 5
    5 7 11
    13 2 3

    输出

    复制

    266666666
    623376624
    307692308

    题解:

    容斥原理

    代码:

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    
    using  namespace std;
    
    
    int main()
    {
    	
    	int T;
    	cin>>T;
    	for(int t=0;t<T;t++)
    	{
    		long long int a,b,c;
    		scanf("%lld%lld%lld",&a,&b,&c);
    		long long int sum=1000000000;
    		long long int a1,a2,a3,a4,a5,a6,a7;
    		a1=sum/a;
    		a2=sum/b;
    		a3=sum/c;
    		a4=sum/(a*b);
    		a5=sum/(a*c);
    		a6=sum/(b*c);
    		a7=sum/(a*b*c);
    		//cout<<a1+a2+a3-a4-a5-a6+a7<<endl;
    		long long int s=sum-(a1+a2+a3-a4-a5-a6+a7);
    		cout<<s<<endl;
    	  
    		//cout<<sum<<endl;
    	}
    	
    	return 0;
    }
  • 相关阅读:
    UVa 1354 天平难题 (枚举二叉树)
    广西邀请赛总结
    UVa 12118 检查员的难题 (dfs判连通, 构造欧拉通路)
    UVA
    Uva 127 "Accordian" Patience (模拟)
    UVA 10539 Almost Prime Numbers( 素数因子)
    HDU 1272 小希的迷宫(并查集)
    HDU 1213 How Many Tables (并查集)
    POJ 2236 Wireless Network(并查集)
    HDU 1233 还是畅通工程 ( Kruskal或Prim)
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10781876.html
Copyright © 2011-2022 走看看