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

POJ 3096-Surprising Strings(set)

POJ训练计划3096_Surprising Strings(STL/map)

poj-3096-Suprising Strings

poj3096