bnu1058 连连看游戏 C语言版

本文提供了一个使用C语言编写的连连看游戏解决方案,通过读取输入并利用异或操作来判断游戏盘面是否全部消除干净。适用于ACM竞赛及算法训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

北京师范大学珠海分校
Judge Online of ACM ICPC
1058 连连看游戏
C语言版
  1. #include <stdio.h>
  2. #include <string.h>

  3. int main()
  4. {
  5.     while(1)
  6.     {
  7.         int i, j, n, a[150]={0}, sign=0;
  8.         char str[80];
  9.         scanf("%d",&n);
  10.         if (n == 0) break;
  11.         for (i = 1; i <= n; i++)
  12.         {
  13.             scanf("%s",&str);
  14.             for (j = 0; j <= strlen(str); j++)
  15.             {
  16.                 /* 使用异或在0和1之间来回变换 */ 
  17.                 a[str[j]] = a[str[j]]^1;
  18.             }
  19.         }
  20.         for (i = 1;i <= 140; i++)
  21.         {
  22.             if (a[i] == 1)
  23.             {
  24.                 sign = 1;
  25.                 break;
  26.             }
  27.         }
  28.         if (sign == 1) printf("NO/n");
  29.             else printf("YES/n");
  30.     }
  31.     return 0;
  32. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值