PAT-1065.单身狗-19分-102ms

本文提供了一段使用C语言编写的程序代码,该程序用于解决一个有趣的单身匹配问题。通过输入参与者及其配偶信息,程序能够找出没有匹配到配偶的人,并按编号顺序输出这些人的列表。
#include <stdio.h>
#define MAX 50001
int main(){
   int n;scanf("%d",&n);
  int couple[MAX];
  for (int i=0;i<n;i++){
    int cc;
    int cct;
    scanf("%d %d",&cc,&cct);
    //夫妻互存 
    couple[cc]=cct;
    couple[cct]=cc;  
  }
  int m;scanf("%d",&m);
  int people[MAX];
  for (int i=0;i<m;i++){
    int cc;
    scanf("%d",&cc);
    people[i]=cc;
  }
  int coupletrue[MAX];//有配偶的人
  int coupletruetotal=0; 
  int dog[MAX];
  int total=0;
  for (int i=0;i<m;i++){//客人  判断是否有配偶 
    if (couple[people[i]]==0) {//如果 没有 存起来 (铁单身) 
      dog[total]=people[i];
      total++; 
    }else {//如果 有 先存起来 进行下一步判断 (银水) 
      coupletrue[coupletruetotal]=people[i];
      coupletruetotal++;
    }
  }
  for (int i=0;i<coupletruetotal;i++){// 通过剩下的值互相匹配 
    int j=0;
    for (j=0;j<coupletruetotal;j++){
      if (couple[coupletrue[i]]==coupletrue[j]){
        break;  
      } 
    } 
    if (j==coupletruetotal){
      dog[total]=coupletrue[i];
      total++;
    }
  } 
  printf ("%d\n",total);
  for (int i=0;i<total-1;i++){
    for (int j=i+1;j<total;j++){
      if (dog[i]>dog[j]){
        int temp=dog[i];
        dog[i]=dog[j];
        dog[j]=temp;
      }
    }
  }
  for (int i=0;i<total;i++){
    printf("%d",dog[i]);
    if (i<total-1) printf(" "); 
  }
  return 0;
}

[root@localhost work]# sudo find / -xdev -type f -size +100M -exec ls -lh {} \; -rw-r--r--. 1 root root 101M Feb 28 2025 /var/lib/rpm/Packages -rw-r--r--. 1 root root 156M Jun 22 2024 /var/cache/yum/x86_64/7/updates/gen/primary_db.sqlite -rw-r--r--. 1 root root 149M Jun 22 2024 /var/cache/yum/x86_64/7/updates/gen/filelists_db.sqlite -rw-r--r--. 1 root root 117M Jun 21 2024 /var/cache/yum/x86_64/7/updates/packages/firefox-115.12.0-1.el7.centos.x86_64.rpm -rw-r--r--. 1 root root 1.1G Oct 4 23:45 /tmp/spring.log.2025-10-04.128181976214538690.tmp -rw-r--r--. 1 root root 1.7G Oct 5 15:00 /tmp/spring.log.2025-10-04.228213919973839816.tmp -rw-r--r--. 1 root root 2.3G Oct 10 23:45 /tmp/spring.log.2025-10-10.028656801304903358.tmp -rw-r--r--. 1 root root 2.7G Oct 11 23:45 /tmp/spring.log.2025-10-10.228732319985996298.tmp -rw-r--r--. 1 root root 1.5G Oct 4 15:03 /tmp/spring.log.2025-10-04.028138434113501828.tmp -rw-r--r--. 1 root root 1.4G Oct 12 15:03 /tmp/spring.log.2025-10-12.028829562166827530.tmp -rw-r--r--. 1 root root 722M Oct 9 23:45 /tmp/spring.log.2025-10-09.028624370054257272.tmp -rw-r--r--. 1 root root 681M Oct 7 23:45 /tmp/spring.log.2025-10-07.228451583042218185.tmp -rw-r--r--. 1 root root 1.1G Oct 12 23:45 /tmp/spring.log.2025-10-12.128873138133991399.tmp -rw-r--r--. 1 root root 1.1G Oct 5 23:45 /tmp/spring.log.2025-10-05.028268051194354719.tmp -rw-r--r--. 1 root root 2.8G Oct 3 23:45 /tmp/spring.log.2025-10-03.028041361425305587.tmp -rw-r--r--. 1 root root 2.7G Oct 8 23:45 /tmp/spring.log.2025-10-07.328473120035804793.tmp -rw-r--r--. 1 root root 1.7G Oct 13 15:02 /tmp/spring.log.2025-10-12.228905120362616249.tmp -rw-r--r--. 1 root root 360M Oct 13 16:04 /tmp/spring.log.2025-10-13.028959350972534024.tmp -rw-r--r--. 1 root root 739M Oct 13 23:45 /tmp/spring.log.2025-10-13.128970115527045867.tmp -rw-r--r--. 1 root root 674M Oct 14 06:53 /tmp/spring.log.2025-10-14.029002515536531512.tmp -rw-r--r--. 1 root root 102M Nov 12 2024 /usr/lib/locale/locale-archive -rw-r--r--. 1 root root 208M Sep 23 10:25 /opt/nubosh/vmsec-host/pat/av/qowl.tgz 执行结果
最新发布
10-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值