POJ 3096 -- Surprising Strings
Posted Amysear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 3096 -- Surprising Strings相关的知识,希望对你有一定的参考价值。
POJ 3096 -- Surprising Strings
1 #include<iostream> 2 #include<map> 3 #include<cstring> 4 #include<string> 5 using namespace std; 6 char str[80]; 7 bool solve() 8 { 9 for(int i=0;i<strlen(str)-2;i++)//D的长度 10 { 11 map<string,int> flag; 12 for(int j=0;j<strlen(str)-i-1;j++) 13 { 14 string ss = "AA"; 15 ss[0] = str[j];ss[1] = str[j+i+1];ss[2] = \'\\0\'; 16 if(!flag[ss])//没有重复 17 { 18 flag[ss] = 1; 19 } else{//重复 20 return false; 21 } 22 } 23 flag.clear(); 24 } 25 return true; 26 } 27 28 int main() 29 { 30 31 while(true) 32 { 33 cin>>str; 34 if(str[0] == \'*\') break; 35 if(strlen(str) <= 2) 36 { 37 cout<<str<<" is surprising."<<endl; 38 }else{ 39 if(!solve()) cout<<str<<" is NOT surprising."<<endl; 40 else cout<<str<<" is surprising."<<endl; 41 } 42 43 } 44 return 0; 45 }
Error 42 error C2784: \'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)\' : could not deduce template argument for \'const std::_Tree<_Traits> &\' from \'const std::string\' d:\\program files_x86\\microsoft visual studio 9.0\\vc\\include\\functional 143 Test
在使用STL的容器(比如map)的insert方法时若出现上述错误,并且其他地方没有语法错误的话,多半是没有导入头文件#include <string>
以上是关于POJ 3096 -- Surprising Strings的主要内容,如果未能解决你的问题,请参考以下文章
POJ 3096 -- Surprising Strings
POJ 3096-Surprising Strings(set)