本題的時間複雜度要求非常的低,所以只要用
# include <bits/stdc++.h>
using namespace std;
int main(){
int T,l,x,y,maxx,maxy;
string s;
cin>>T;
while(T--){
cin>>s;
l = s.size();
maxx = 0, maxy = 1;
for(x = 0 ; x<l ; x++){
// odd
for(y = 1 ; x-y>-1 && x+y<l && s[x-y] == s[x+y] ; y++);
if(--y*2+1 > maxy){
maxx = x-y;
maxy = 2*y+1;
}
// even
for(y = 1 ; x-y+1>-1 && x+y<l && s[x-y+1] == s[x+y] ; y++);
if(--y*2 > maxy){
maxx = x-y+1;
maxy = 2*y;
}
}
cout<<s.substr(maxx, maxy)<<'\n';
}
}
C. 完美平方數 #include <iostream> #include <math.h> using namespace std; int numSquares(int n); int main() { int num, ans;
Jan 27, 2022E. 鐵路 本題源自於Onling Judge:514 - Rails 題目目標在於給定出站順序的前提下,利用已知入站順序1~N, 確定是否仍能夠以目標出站順序離開。 有一個簡單的想法,我們利用queue的特性來維護出站順序、 利用stack的特性來維護入站順序, 並依次比較它們的front/top是否相同,如果相同就安排出站(pop)。
Jan 27, 2022C. 組合 #include<bits/stdc++.h> using namespace std; vector<int> a; bool first=true,f=true; fstream input,output; void find(int g,vector<int> &can,int p){ if(!g){ if(!first){
Sep 19, 2021D. Flood Fill # include <bits/stdc++.h> using namespace std; int m[102][102]; struct Fill{ int x,y,t; };
Sep 16, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up