Submission #1965802


Source Code Expand

#include <iostream>
#include <vector>
using namespace std;

#define MOD(N) (N = (N) % 100000)

int w,h;



int upmemo[200][200];
int rightmemo[200][200];

int main()
{
	cin >> w >> h;
	
	for(int i = 1;i <= w;i++)
	{
		for(int j = 1;j <= h;j++)
		{
			if(i == 1 && j == 1)
			{
				rightmemo[i + 1][j] = 1;
				upmemo[i][j + 1] = 1;
			}
			else
			{
				rightmemo[i + 1][j] += rightmemo[i][j];
				rightmemo[i + 2][j] += upmemo[i][j];
				upmemo[i][j + 1] += upmemo[i][j];
				upmemo[i][j + 2] += rightmemo[i][j];
				MOD(rightmemo[i + 1][j]);
				MOD(rightmemo[i + 2][j]);
				MOD(upmemo[i][j + 1]);
				MOD(upmemo[i][j + 2]);
			}
		}
	}

	cout << (rightmemo[w + 1][h] + upmemo[w][h + 1]) % 100000<< endl;
	return 0;
}

Submission Info

Submission Time
Task E - 通勤経路
User niuez
Language C++14 (GCC 5.4.1)
Score 100
Code Size 764 Byte
Status AC
Exec Time 2 ms
Memory 384 KB

Judge Result

Set Name set01 set02 set03 set04 set05
Score / Max Score 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
Case Name Status Exec Time Memory
data1 AC 1 ms 256 KB
data2 AC 1 ms 256 KB
data3 AC 1 ms 256 KB
data4 AC 1 ms 384 KB
data5 AC 2 ms 384 KB