Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
如何能够在这种题上WA了N次后找到一个乐于助人的大牛?我不懂...... #include <cstdio> using namespace std; class Comparer{ private: int id; char chs[10]; public: Comparer(char *a){ chs[0]=a[0]; for (int i=1;a[i-1];i++)chs[i]=a[i]; id=0; } void putch(char a){ if (chs[id]==0)id=0; if (chs[id]==a)id++; else id=0; } int compared(){return chs[id]==0;} }; class Outputpool{ private: int id,l; char chs[10]; public: Outputpool(){id=l=0;} void putch(char a){ if (l==10){ putchar(chs[id]); id++;id%=10; chs[(id+9)%10]=a; } else{ chs[(id+l)%10]=a; l++; } } void putch(char *a){for (int i=0;a[i];i++)putch(a[i]);} void rollback(int a){ if (l>=a)l-=a; } void empty(){ for (int i=0;i<l;i++)putchar(chs[(id+i)%10]); } }; int main() { char a; Comparer cDD("dd"),cEOF("EOF"),cPink("pink"),cEI("ei"); Outputpool outP; while ((a=getchar())!=EOF){ cDD.putch(a);cEOF.putch(a);cPink.putch(a);cEI.putch(a); if (cEOF.compared())break; if (cDD.compared()){ outP.rollback(1); outP.putch('p'); }else if (cEI.compared()){ outP.rollback(1); outP.putch("ie"); }else if (cPink.compared()){ outP.rollback(3); outP.putch("floyd"); }else if (a>='a' && a<='z' || a==' ' || a==10)outP.putch(a); } outP.empty(); getchar();getchar(); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator