字串的題最好還是用string,比char陣列方便很多
sacnf讀入字元會讀入回車,需要用getchar()消除
多個用例的情況下注意清空
第一次ce,因為poj不支援c++11所以不能使用雜湊表
第一次wa,加了乙個清空字元陣列e的語句
第二次wa,修改了第47行的memcpy,對於memcpy函式第三個引數是要複製過去的位元組大小,要複製4個int就填4*sizeof(int),當然由於char的大小是1所以直接填大小也行。在這裡為什麼sizeof(s2)不對呢,因為s2的大小不僅僅是這一次使用的,他早就被擴充了
#include #include #include #include using namespace std;
const int maxn = 210;
char s1[maxn],s2[maxn],e[maxn];
setst;
int res;
int t,n;
bool shuffle(char *s1,char*s2)
else
}temp[2*n] = '\0';
res++;
bool iseuq = true;
for (int i=0;iif(!iseuq)
else
}else
}int main()
printf("%d %d\n",j,res);
}return 0;
}
poj 3087(一道簡單的模擬)
題目是乙個很明顯的模擬,兩個等長字串交錯合併,並更新兩個字串為合併後字串的前後兩個部分,求合併成給定字串的最少次數。模擬合併的過程就可以了,唯一需要注意的就是如果不能合成指定字串會形成乙個迴圈。include include includeusing namespace std const int ...
poj解題報告 1328
不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...
poj解題報告 2586
這題我是用的貪心演算法,其實不用也可以,列舉也能解決,因為情況不多。因為是每連續5個月必有虧損,而一年只有1 5,2 6,3 7,4 8 8 12共8種情況。現在設盈餘為s,虧損為d,可列出以下幾種情況。ssssdssssdss 4ssssddsssddss 3s 2d ssdddssdddss 2...