fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S, class T> inline S chmax(S &a, T b){
  5. if(a<b){
  6. a=b;
  7. }
  8. return a;
  9. }
  10. #define main dummy_main
  11. int main(){
  12. return 0;
  13. }
  14. #undef main
  15. int solve(string s, set<string> &st, int need = -1){
  16. int i;
  17. int res = -1073709056;
  18. if(st.count(s) == 0){
  19. res = 1;
  20. }
  21. chmax(need, res);
  22. if(s.size() < need){
  23. return res;
  24. }
  25. for(i=(1);i<(s.size());i++){
  26. string x = s.substr(0, i);
  27. string y = s.substr(i);
  28. if(st.count(x)){
  29. continue;
  30. }
  31. st.insert(x);
  32. chmax(res, solve(y, st, need-1) + 1);
  33. chmax(need, res);
  34. st.erase(x);
  35. }
  36. return res;
  37. }
  38. class Solution{
  39. public:
  40. int maxUniqueSplit(string s){
  41. set<string> st;
  42. return solve(s, st);
  43. }
  44. }
  45. ;
  46. // cLay varsion 20200920-1
  47.  
  48. // --- original code ---
  49. // #define main dummy_main
  50. // {}
  51. // #undef main
  52. //
  53. // int solve(string s, set<string> &st, int need = -1){
  54. // int res = -int_inf;
  55. // if(st.count(s) == 0) res = 1;
  56. // need >?= res;
  57. // if(s.size() < need) return res;
  58. //
  59. // rep(i,1,s.size()){
  60. // string x = s.substr(0, i);
  61. // string y = s.substr(i);
  62. // if(st.count(x)) continue;
  63. // st.insert(x);
  64. // res >?= solve(y, st, need-1) + 1;
  65. // need >?= res;
  66. // st.erase(x);
  67. // }
  68. // return res;
  69. // }
  70. //
  71. // class Solution {
  72. // public:
  73. // int maxUniqueSplit(string s) {
  74. // set<string> st;
  75. // return solve(s, st);
  76. // }
  77. // };
  78.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
stdout
Standard output is empty