zoukankan      html  css  js  c++  java
  • 握手(bestcode#42)

    Shaking hands

    问题描述
    今天是Gorwin的生日,所以她举办了一个派对并邀请她的朋友来参加。她将邀请n个朋友,为了方便,Gorwin把他们从1到n标号。他们之中有一些人已经相互认识,有一些人不认识对方。相互认识的朋友见面之后会握手然后喝一杯香槟。Gorwin想要知道要准备多少杯香槟。你能帮助她吗?
    输入描述
    多组测试数据(大概30组),每组数据的第一行有一个整数n表示Gorwin要邀请n个朋友来参加她的派对。
    接下来n行会给出一个n*n的矩阵,如果a[i][j]是1,那么朋友i和朋友j是相互认识的,否则他们不认识。
    请处理到文件末尾。
    [参数约定]
    所有输入均为整数。
    1<=n<=30
    0<=a[i][j]<=1
    a[i][i]=0;
    a[i][j]=a[j][i] for i!=j
    
    输出描述
    对于每一个数据,在一行中输出一个整数代表Gorwin总共要准备多少香槟。
    输入样例
    2
    0 0
    0 0
    3
    0 0 1
    0 0 0
    1 0 0
    
    输出样例
    4
    8
    
    Hint
    对于第二个数据,Gorwin会和她所有的朋友握手,然后喝三杯香槟,她的三个朋友也各喝一杯。朋友1和朋友3相互认识,他们握手,然后各自喝一杯。这样总共要3+3+2=8杯香槟。
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int T,n,i,j;
     5     int a[31][31];
     6     while(~scanf("%d",&n))
     7     {
     8         int count=0;
     9         for(i=0;i<n;i++)
    10             for(j=0;j<n;j++)
    11                 scanf("%d",&a[i][j]);
    12     for(i=0;i<n;i++)
    13         for(j=0;j<i;j++)
    14             if(a[i][j]==1)
    15                 count++;
    16     printf("%d
    ",(count+n)*2);
    17     
    18     }
    19 }
  • 相关阅读:
    7.15--7.19学习小结
    关于CStdioFile的使用问题
    【EOJ Monthly 2018.7】【D数蝌蚪】
    【HDOJ1051】【排序+LIS】【贪心】
    【HDOJ1045】【DFS】
    【递推】【HDOJ】
    【带权并查集】【HDOJ】
    【次小生成树】【Kruskal】【prim】【转】
    【HDOJ4857】【反向拓扑排序】
    【HDOJ1069】【动态规划】
  • 原文地址:https://www.cnblogs.com/a1225234/p/4525112.html
Copyright © 2011-2022 走看看