zoukankan      html  css  js  c++  java
  • Problem 1002-2017 ACM/ICPC Asia Regional Shenyang Online

    • 网络赛:2017 ACM/ICPC Asia Regional Shenyang Online

    • 题目来源:cable cable cable

    • Problem Description:
      Connecting the display screen and signal sources which produce different color signals by cables, then the display screen can show the color of the signal source.Notice that every signal source can only send signals to one display screen each time.
      Now you have M display screens and K different signal sources(K≤M≤2^32−1). Select K display screens from M display screens, how many cables are needed at least so that any K display screens you select can show exactly K different colors.

    • Input
      Multiple cases (no more than 100), for each test case:
      there is one line contains two integers M and K.

    • Output
      Output the minimum number of cables N.

    • Sample Input
      3 2
      20 15

    • Sample Output
      4
      90

    • Hint


      As the picture is shown, when you select M1 and M2, M1 show the color of K1, and M2 show the color of K2.
      When you select M3 and M2, M2 show the color of K1 and M3 show the color of K2.
      When you select M1 and M3, M1 show the color of K1.

    • 题目分析:对于每个测试样例给两个整数,分别是M个display screens,K个different signal sources,(K≤M≤2^32−1),从M个screens中选出K个screens,在源头和屏幕之间连线,使得这K个屏幕可以显示出不同的K中颜色。
      连线只存在源头和屏幕之间。

    • 我的思路:
      首先,对于K个源点,先对K个屏幕连一条线,以K=3,M=4为例子:
      这里写图片描述
      每个源点选择一个屏幕进行连线,如下图:
      这里写图片描述
      这样会剩下(M-K)个屏幕在链接的时候一定会链接不同的源点,并且链接的源点一定是K个,因为在显示的时候是要求选择K个屏幕同时出现不同的颜色,如果链接的源点少于K个就会出现重复颜色。如下图:
      这里写图片描述
      最后,可以得到一个公式:
      需要的连线数目=K+(M-K)* K , 整理得K*(M+1)-K*K
      需要注意一下M,K的范围,需要用long long存,要不就是WA…..Orz

    • 完整代码:
    #include<stdio.h>
    int main(void)
    {
        long long M, K;
        while (scanf("%lld%lld", &M, &K) != EOF)
        {
            printf("%lld
    ", K*(M + 1) - K*K);
        }
        return 0;
    }
  • 相关阅读:
    Android tcpdump 抓包
    Android CursorAdapter 查询联系人过滤
    Android 项目打包成apk文件
    解决Centos 6.3 中 gedit中文乱码问题
    在Linux(centos)系统上用手机调试android程序(eclipse)
    系统定时关机命令–shutdown
    使用gdb Server调试嵌入式程序
    Vim 错误排查方法
    通过netstat命令查看进程与端口的对应关系
    dexpler的使用方法
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/9052565.html
Copyright © 2011-2022 走看看