zoukankan      html  css  js  c++  java
  • openjudge 2801

    2.4 填词

    其实这是个很简单的问题,但是题目有一定的误导性,因为题中故意说了单词出现的方向只能是竖直的或者水平的。我开始看到这个题目的时候,一直在想是不是得搜索每个字符的具体位置在哪?然后就陷入这个搜索问题中去了。后来突然想想不对啊。输出的答案和这个位置到底有没有确定是不相关的啊,我只要把P个单词中出现的字符给扣除掉,剩下的就是字符再按照字典顺序就是题中要求的输出了啊,然后一看解析,果然如自己后来想的这样。看来以后还是得关注下要的输出是什么? 下面代码已经AC。

     1 #include<stdio.h>
     2 #define NUM 101
     3 int main(void)
     4 {
     5     int cnt[26];//存储每个大写字母出现的次数
     6     int N,M,P;
     7     int i,j;
     8     char temp[NUM];
     9     scanf("%d %d %d",&N,&M,&P);
    10     for(i=0;i<26;i++)
    11         cnt[i] = 0;
    12     //N*M方格中的字符
    13     while(N-->0)
    14     {
    15         scanf("%s",temp);
    16         j=0;
    17         while(temp[j]!='')
    18         {
    19             cnt[temp[j]-'A']++;
    20             j++;
    21         }
    22     }
    23     //题中给出要找到的单词
    24     while(P-->0)
    25     {
    26         scanf("%s",temp);
    27         j=0;
    28         while(temp[j]!='')
    29         {
    30             cnt[temp[j]-'A']--;
    31             j++;
    32         }
    33     }
    34     //按字典顺序打印剩余字符
    35     for(i=0;i<26;i++)
    36     {
    37         if(cnt[i]>0)
    38             while(cnt[i]-->0)
    39                 printf("%c",i+'A');
    40     }
    41     printf("
    ");
    42     return 0;
    43 }
    有问题可以和我联系,bettyting2010#163 dot com
  • 相关阅读:
    redis环境搭建笔记
    mysql主从配置
    虚拟机下的hadoop集群环境搭建。
    maven 集成spring
    maven 集成spring ,mybatis
    andorid一个简单的短信发送程序
    android 一个简单的拨打电话程序
    hibernate 多对多双向关联
    hibernate 多对多注解配置
    hibernat 多对一注解配置
  • 原文地址:https://www.cnblogs.com/echoht/p/3667744.html
Copyright © 2011-2022 走看看