国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

算法提高 P1003

2019-11-08 01:40:22
字體:
來源:轉載
供稿:網友

1008: 算法提高 P1003

時間限制: 1 Sec  內存限制: 128 MB提交: 6  解決: 2[提交][狀態][討論版]

題目描述

作為一名網絡警察,你的任務是監視電子郵件,看其中是否有一些敏感的關鍵詞。不過,有些狡猾的犯罪嫌疑人會 改變某些單詞的字母順序,以逃避檢查。請編寫一個程序,發現這種調整過順序的關鍵詞。程序的輸入有兩行,第一行是關鍵詞列表,第二行是待檢查的句子。程序 的輸出為在該句子中所找到的經過順序調整的關鍵詞。(單詞全部為小寫,單詞之間以一個空格分隔,每一行的單詞個數不限)

輸入

guns mines missilesaameric ssell snug dan iimsssle ot sit neeemi

輸出

guns missiles

樣例輸入

guns mines missilesaameric ssell snug dan iimsssle ot sit neeemi 

樣例輸出

guns missiles
題目鏈接
點擊打開鏈接
簡單粗暴的方法,就是代碼復雜。
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;int main(){    int key[1000][26];  ///用來存放每個關鍵詞的某個單詞的個數    int sen[26];  ///存放檢索的句子中某個單詞的個數    char str1[1000];   ///存放第一個字符串    char str2[1000];   ///存放第二個字符串    char temp[1000][100];  ///存放關鍵詞    int a[1000];    int i,j,k;    while(gets(str1))    {        gets(str2);        memset(a,0,sizeof(a));        memset(key,0,sizeof(key));        j=0;        for(i = 0; i < strlen(str1); i++)  ///關鍵詞        {            k = 0;            while(str1[i]!=' '&&str1[i]!='/0')            {                temp[j][k]=str1[i];                key[j][str1[i]-'a']++;                i++;                k++;            }            temp[j][k]='/0';            j++;        }        for(i = 0; i < strlen(str2); i++)        {            memset(sen,0,sizeof(sen));            while(str2[i]!=' '&&str2[i]!='/0')            {                sen[str2[i]-'a']++;                i++;            }            for(k = 0; k < j; k++)            {                if(a[k]==0)                {                    int flag = 1;                    for(int t1=0;t1<26;t1++)                    {                        if(key[k][t1]!=sen[t1])                        {                            flag = 0;                            break;                        }                    }                    if(flag)                        a[k]=1;                }            }        }        for(i = 0;i < j; i++)        {            if(a[i])            {                PRintf("%s",temp[i]);                break;            }        }        i++;        for(;i < j; i++)        {            if(a[i])            {                printf(" %s",temp[i]);            }        }        printf("/n");    }    return 0;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 始兴县| 连平县| 寿光市| 曲沃县| 庄河市| 龙游县| 馆陶县| 三门县| 横峰县| 连江县| 天津市| 陕西省| 竹溪县| 壶关县| 油尖旺区| 凯里市| 克拉玛依市| 连江县| 凤庆县| 永丰县| 景谷| 泗水县| 台东市| 大丰市| 竹北市| 右玉县| 柘荣县| 大厂| 陇南市| 云霄县| 汉川市| 垫江县| 双辽市| 南丰县| 巨鹿县| 阿勒泰市| 新田县| 泰宁县| 绥江县| 什邡市| 句容市|