u233 單詞化簡

2021-09-28 09:56:55 字數 1712 閱讀 4604

time limit: 1 second

memory limit: 64 mb

【問題描述】

最近情報人員得到了一些經過加密的文章,每個單詞都很長。破譯人員想到先把單詞化簡一下,方法是把每個單詞盡量取短些的字首,但所取的字首不能是其他單詞的字首。 這個任務現在就交給你來完成。 解釋:「字串s1是s2的字首」是說把字串s2的後面去掉某些,只保留與s1相同長度是,s2就與s1完全相同。如:「abc「是」abcaade「和」abc「的字首,但不是」abadc「的字首。 資料範圍 單詞數n,1<=n<=50; 每個單詞長度不超過50;並且都是由小寫字母構成。 保證所給單詞沒有乙個單詞是另乙個單詞的字首。

【輸入格式】

第一行乙個整數n,表示單詞的個數。 下面有n行,每行乙個單詞。

【輸出格式】

共n行,每行乙個單詞,是對應上面n個單詞化簡後的單詞。

【資料規模】

sample input1

3 abc

efg

ijhsample output1

a e

isample input2

3 aac

aad

aaesample output2

aac

aad

aae【題目鏈結】:

【題解】

如果s1比s2長,s1不是s2的字首;

列舉字元的字首是什麼(從短到長);然後看看是不是其他的字串的字首;

【完整**】

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

#define ll long long

#define rep1(i,a,b) for (int i = a;i <= b;i++)

#define rep2(i,a,b) for (int i = a;i >= b;i--)

#define mp make_pair

#define pb push_back

#define fi first

#define se second

typedef pair pii;

typedef pairpll;

void rel(ll &r)

void rei(int &r)

const

int maxn = 50+10;

const

int dx[9] = ;

const

int dy[9] = ;

const

double pi = acos(-1.0);

string s[maxn];

int n;

bool f(string s1,string s2)

int main()

}if (!is)

k++;}}

return

0;}

格式化U盤

總結 本作品採用知識共享署名 非商業性使用 禁止演繹 4.0 國際許可協議進行許可。寫在前面 之前作死的操作是,從u盤匯出資料到行動硬碟時,不太耐心,直接拔u盤,然後只要一插入u盤,就彈窗提示要掃瞄並修復u盤,試過之後提示掃瞄修復失敗。右鍵格式化提示windows無法完成格式化。嘗試了usboot,...

格式化u盤

現象 16gu盤。分了兩個區,乙個exfat放資料。另外乙個做成了u盤linux。結果以後想格式化成16g盤,win7找不到linux的分割槽。解決 1.開啟cmd 2.命令列 diskpart 3.檢視所有硬碟 list disk 4.假設你的優盤為disk1 select disk 1 5.清除...

ubuntu 格式化u盤

基本功,格式化命令,以格式化 dev sda1 分割槽為例 sudo umount dev sda1 必須先解除安裝該分割槽 格式化為 fat 分割槽 sudo mkfs.vfat f 32 dev sda1 f 引數必須大寫,引數有 12,16 和 32,分別對應 fat12,fat16,fat3...