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...