Download 2018/quals/ethanstring.cpp from hackercupai/hackercup: direct link, hf CLI and curl.
- Browser
- Download file 2.18 kB
-
https://huggingface.co/datasets/hackercupai/hackercup/resolve/main/2018/quals/ethanstring.cpp
- Command line
-
hf download hf://datasets/hackercupai/hackercup/2018/quals/ethanstring.cpp
-
curl -L -o ethanstring.cpp https://huggingface.co/datasets/hackercupai/hackercup/resolve/main/2018/quals/ethanstring.cpp
2.18 kB
| // Ethan Searches for a String | |
| // Solution by Jacob Plachta | |
| using namespace std; | |
| template<typename T> T Abs(T x) { return(x<0 ? -x : x); } | |
| template<typename T> T Sqr(T x) { return(x*x); } | |
| string plural(string s) { return(Sz(s) && s[Sz(s)-1]=='x' ? s+"en" : s+"s"); } | |
| const int INF = (int)1e9; | |
| const LD EPS = 1e-12; | |
| const LD PI = acos(-1.0); | |
| bool Read(int &x) | |
| { | |
| char c,r=0,n=0; | |
| x=0; | |
| for(;;) | |
| { | |
| c=GETCHAR(); | |
| if ((c<0) && (!r)) | |
| return(0); | |
| if ((c=='-') && (!r)) | |
| n=1; | |
| else | |
| if ((c>='0') && (c<='9')) | |
| x=x*10+c-'0',r=1; | |
| else | |
| if (r) | |
| break; | |
| } | |
| if (n) | |
| x=-x; | |
| return(1); | |
| } | |
| int main() | |
| { | |
| if (DEBUG) | |
| freopen("in.txt","r",stdin); | |
| // vars | |
| int T,t; | |
| string A,B; | |
| int i,j; | |
| // testcase loop | |
| Read(T); | |
| Fox1(t,T) | |
| { | |
| // input | |
| cin >> A; | |
| // check for a valid prefix to repeat | |
| B="Impossible"; | |
| Fox1(i,Sz(A)-1) | |
| if (A[i]==A[0]) | |
| { | |
| Fox(j,Sz(A)) | |
| if (A[j]!=A[j%i]) | |
| B=A.substr(0,i)+A; | |
| break; | |
| } | |
| // output | |
| printf("Case #%d: ",t); | |
| cout << B << endl; | |
| } | |
| return(0); | |
| } |