fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S, class T> inline S chmin(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 dist(int a, int b){
  16. return abs(a/6 - b/6) + abs(a%6 - b%6);
  17. }
  18. int dp[26][26];
  19. int nx[26][26];
  20. class Solution{
  21. public:
  22. int minimumDistance(string word){
  23. int i, k;
  24. int N = word.size();
  25. int c;
  26. int res = 1073709056;
  27. for(i=(0);i<(26);i++){
  28. int j;
  29. for(j=(0);j<(26);j++){
  30. dp[i][j] = 0;
  31. }
  32. }
  33. for(k=(0);k<(N);k++){
  34. c = word[k] - 'A';
  35. for(i=(0);i<(26);i++){
  36. int j;
  37. for(j=(0);j<(26);j++){
  38. nx[i][j] = 1073709056;
  39. }
  40. }
  41. for(i=(0);i<(26);i++){
  42. int j;
  43. for(j=(0);j<(26);j++){
  44. chmin(nx[i][c], dp[i][j] + dist(j,c));
  45. chmin(nx[c][j], dp[i][j] + dist(i,c));
  46. }
  47. }
  48. for(i=(0);i<(26);i++){
  49. int j;
  50. for(j=(0);j<(26);j++){
  51. dp[i][j] = nx[i][j];
  52. }
  53. }
  54. }
  55. for(i=(0);i<(26);i++){
  56. int j;
  57. for(j=(0);j<(26);j++){
  58. chmin(res, dp[i][j]);
  59. }
  60. }
  61. return res;
  62. }
  63. }
  64. ;
  65. // cLay varsion 20200119-1
  66.  
  67. // --- original code ---
  68. // #define main dummy_main
  69. // {}
  70. // #undef main
  71. //
  72. // int dist(int a, int b){
  73. // return abs(a/6 - b/6) + abs(a%6 - b%6);
  74. // }
  75. //
  76. // int dp[26][26], nx[26][26];
  77. //
  78. // class Solution {
  79. // public:
  80. // int minimumDistance(string word) {
  81. // int N = word.size(), c;
  82. // int res = int_inf;
  83. // rep(i,26) rep(j,26) dp[i][j] = 0;
  84. //
  85. // rep(k,N){
  86. // c = word[k] - 'A';
  87. // rep(i,26) rep(j,26) nx[i][j] = int_inf;
  88. // rep(i,26) rep(j,26){
  89. // nx[i][c] <?= dp[i][j] + dist(j,c);
  90. // nx[c][j] <?= dp[i][j] + dist(i,c);
  91. // }
  92. // rep(i,26) rep(j,26) dp[i][j] = nx[i][j];
  93. // }
  94. //
  95. // rep(i,26) rep(j,26) res <?= dp[i][j];
  96. // return res;
  97. // }
  98. // };
  99.  
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