Submission #53956

# Submission time Handle Problem Language Result Execution time Memory
53956 2018-07-02T05:07:30 Z 김세빈(#1455) Linear Garden (IOI08_linear_garden) C++11
100 / 100
111 ms 65480 KB
#include <bits/stdc++.h>

using namespace std;

int dp[1010101][15];
int S[15][2] = {{0, 0}, {0, 2}, {1, 3}, {2, 0}, {1, 5}, {4, 14}, {4, 8}, {12, 8}, {7, 11}, {0, 10}, {9, 11}, {10, 0}, {0, 13}, {12, 14}, {13, 0}};
char str[1010101];
int n, m, s, ans;

int main()
{
	int i, j;
	
	scanf("%d%d", &n, &m);
	
	ans = 1;
	
	for(i=1;i<=14;i++) dp[n][i] = 1;
	
	for(i=n-1;i>=1;i--){
		for(j=1;j<=14;j++) dp[i][j] = (dp[i+1][S[j][0]] + dp[i+1][S[j][1]]) % m;
	}
	
	scanf("%s", str);
	
	s = 6;
	for(i=1;i<=n;i++){
		if(str[i-1] == 'L') s = S[s][0];
		else ans = (ans + dp[i][S[s][0]]) % m, s = S[s][1];
	}
	
	printf("%d\n", ans);
	
	return 0;
}

Compilation message

linear_garden.cpp: In function 'int main()':
linear_garden.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~
linear_garden.cpp:24:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s", str);
  ~~~~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 496 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 496 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 496 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 572 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 632 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 688 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 700 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 704 KB Output is correct
2 Correct 3 ms 708 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 840 KB Output is correct
2 Correct 2 ms 840 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 904 KB Output is correct
2 Correct 2 ms 1036 KB Output is correct
3 Correct 3 ms 1036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 1944 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 4580 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 5300 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 37 ms 19740 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 46 ms 25644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 62 ms 32808 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 75 ms 40008 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 110 ms 63520 KB Output is correct
2 Correct 111 ms 64372 KB Output is correct
3 Correct 111 ms 65480 KB Output is correct