题目:CF91B
#include<bits/stdc++.h>
/*****************************/
#define s.l s.size()-1//出错
/*****************************/
#define fo(i,l,r) for(int i=l;i<=r;i++)
#define fd(i,r,l) for(int i=r;i>=l;i--)
using namespace std;
int dp[26][1005],lpos,pos,ans;
string s1,s2;
map<char,bool>mp;
int main(){
cin>>s1>>s2;
fo(i,0,s1.l)mp[s1[i]]=1;
fo(i,0,s2.l)
if(!mp[s2[i]])return cout<<-1,0;
fo(i,0,25)
if(mp[i+'a']){
int tmp=s1.l+1;
fd(j,s1.l,0){
if(s1[j]==i+'a')tmp=j;
dp[i][j]=tmp;
}
fo(j,0,s1.l)
if(dp[i][j]==s1.l+1)dp[i][j]=tmp;
}
fo(i,0,s2.l){
if(s2[i]==s2[(i+s2.l)%s2.size()])lpos=pos,pos=dp[s2[i]][(pos+1)%s2.size()];
else lpos=pos,pos=dp[s2[i]][pos];
if(pos<=lpos)ans++;
}
return 0;
}
rt,编译时提示[Warning] ISO C++11 requires whitespace after the macro name,用的是dev-c++,是c++20。遇到这种情况怎么办啊?