日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

Compound Words UVA - 10391(c++用法中substr函数用法+map实现)

發(fā)布時(shí)間:2023/12/4 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Compound Words UVA - 10391(c++用法中substr函数用法+map实现) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題意:

給出字典中一堆單詞,單詞的輸入方式是以字典序輸入的。問:在這一堆單詞中,有那些單詞是通過其它兩個(gè)單詞組合而來的。按字典序升序輸出這些單詞。

題目:

You are to find all the two-word compound words in a dictionary. A two-word compound word is a
word in the dictionary that is the concatenation of exactly two other words in the dictionary.

Input

Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will
be no more than 120,000 words.

Output

Your output should contain all the compound words, one per line, in alphabetical order.

Sample Input

a
alien
born
less
lien
never
nevertheless
new
newborn
the
zebra

Sample Output

alien
newborn

分析:

如果用兩個(gè)字符串拼接看拼接好的字符串是否在字典中,一定會(huì)超時(shí)。
我們可以逆向,由于字符串的長(zhǎng)度不是很長(zhǎng),所以把一個(gè)字符串拆為兩個(gè)字符串看這兩個(gè)字符串是否都在字典中即可
在這里我用的map實(shí)現(xiàn)+substr函數(shù)

c++用法中substr函數(shù)用法

#include<string> #include<iostream> using namespace std; int main() { string s("12345asdf"); string a = s.substr(0,5); //獲得字符串s中從第0位開始的長(zhǎng)度為5的字符串 string b=s.substr(5);/**==string b=s.substr(5,9)*////先有pos,若無n,直接認(rèn)為是字符串長(zhǎng)度 cout << a << endl; cout << b << endl; }
  • 用途:一種構(gòu)造string的方法
  • 形式:s.substr(pos, n)
  • 解釋:返回一個(gè)string,包含s中從pos開始的n個(gè)字符的拷貝(pos的默認(rèn)值是0,n的默認(rèn)值是s.size() - pos,即不加參數(shù)會(huì)默認(rèn)拷貝整個(gè)s)
  • 先有pos,若無n,直接認(rèn)為是字符串長(zhǎng)度
  • ac代碼

    #include<iostream> #include<string.h> #include<map> #include<string> #include<algorithm> using namespace std; const int M=1e6+10; map<string,int>mp;//使用map對(duì)于字典中的單詞進(jìn)行映射,作用就是用于查詢單詞是否字典中 string s[M]; int k; int main() {k=0;while(cin>>s[k]){mp[s[k]]=1;k++;}for(int i=0; i<k; i++)for(int j=0; j<s[i].length(); j++){string u,v;u=s[i].substr(0,j);//然后從第一個(gè)開始,將每個(gè)單詞分成它所能變成的任意兩個(gè)單詞v=s[i].substr(j);///substr是C++語言函數(shù),主要功能是復(fù)制子字符串,要求從指定位置開始,并具有指定的長(zhǎng)度。if(mp[u]&&mp[v])//如果分成的兩個(gè)單詞的映射值均為1,那么這個(gè)就輸出這個(gè)單詞{cout<<s[i]<<endl;break;}}return 0; } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的Compound Words UVA - 10391(c++用法中substr函数用法+map实现)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91精品国产综合久久福利软件 | 熟妇毛片 | 亚洲草逼| 性久久久久久久久 | 超碰在线免费97 | 国产一区二区三区视频在线播放 | 亚洲一区二区三区在线视频 | 精品国产一区在线观看 | 黑人和白人做爰 | 欧美日韩中文字幕在线视频 | 国产一区二区小视频 | 日韩欧美精品在线观看 | 成人爽a毛片一区二区 | 成人h动漫精品一区二区下载 | 精国产人伦一区二区三区 | caoporn成人 | 97视频一区二区 | 免费网站在线观看黄色 | 国产精品国产精品国产专区 | 可以直接在线观看的av | 欧美精品在线视频观看 | 特级黄毛片 | 亚洲系列 | 一区二区三区欧美视频 | 国产三级aaa| 偷偷久久| 日产精品一区二区 | 十八岁世界在线观看高清免费韩剧 | 影音先锋精品 | 欧美特级黄色录像 | 亚洲高清一区二区三区 | 91九色porny视频 | 日本久久影视 | av中文字幕观看 | 俺去日| 精品人妻在线视频 | h视频免费在线 | 亚洲精品视频国产 | 久草福利在线观看 | 欧美日韩精品一区二区 | 久久久老熟女一区二区三区91 | 极品销魂美女少妇尤物 | 日本色视| 成人宗合 | 亚洲国产精选 | 女生被男生c | 亚洲成人中文字幕在线 | 91亚洲视频 | 一区二区精品视频 | av成人在线电影 | 日韩 国产 一区 | 日韩视频专区 | 草草国产 | 亚洲91精品 | 成人教育av在线 | 久久久亚洲 | 一卡二卡三卡四卡 | 黄网站在线观 | 色综合久久88色综合天天免费 | 在线sese | 日韩一级免费看 | 欧美色综合色 | 手机看片1024日韩 | 亚洲专区在线视频 | 韩国成人免费视频 | 91福利一区 | 青草精品视频 | 久久久999久久久 | 少妇粉嫩小泬喷水视频www | 黄色aa级片 | 久久天天| 日韩中文字幕一区 | 国产福利在线 | 2019天天干 | 久久久久久久美女 | 亚洲成人av在线播放 | 日韩欧美视频一区二区三区 | 九九九久久久久 | 久久99中文字幕 | 少妇人妻一区二区三区 | 97超碰在 | 99久久久久成人国产免费 | 久久影 | 91av亚洲 | 成年人在线视频免费观看 | 婷婷久久久久久 | 91美女福利视频 | 成人免费久久 | 人人人爽 | 都市激情综合 | 中文字幕五区 | 风流少妇一区二区三区91 | 成人看片黄a免费看视频 | 国产操| 欧美图片一区二区三区 | 欧洲美女与动交ccoo | 国产一区二区三区在线观看免费 | 日韩在线观看你懂的 | 国产7777777|