Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const unsigned MAXN = 100;
- long long m[MAXN][MAXN], n;
- int main(){
- while ( cin >> n ){
- memset( m, 0, n );
- for( int i=1; i<=n; i++ ){
- for( int j=1; j<=n; j++ ){
- cin >> m[i][j];
- }
- }
- if( m[1][1] ){
- for( int i=1; i<=n; i++ ){
- for(int j=( i == 1 ? 2 : 1 ); j<=n; j++ ){
- if ( m[i][j] == 0 ) continue;
- m[i][j] = m[i-1][j] + m[i][j-1];
- }
- }
- cout << m[n][n] << endl;
- }else cout << 0 << endl;
- }
- return 0;
- }
- /*
- Задача 7b. Зайче в беда
- Веднъж малкото бяло зайче, гонено от един ловец попаднало в лабиринт, които имал форма на квадратна дъска N x N.
- В него чакал големия лош вълк, които предварително изкопал дупки, където зайчето да падне и той да го хване по-лесно.
- В последния момент зайчето с ужас разбрало, че може да се движи само в посока надолу и надясно и че изхода от лабиринта
- е чак в долния десен ъгъл на дъската.
- Зайчето трябвало да разбере каква е вероятността да излезе от лабиринта без да падне в някоя дупка. За целта трябвало да
- изчисли броя пътища от входа до изхода на лабиринта, като успяло да се снабди с картата на този лабиринт. Картата е зададена
- с размер N, като местата на дупките са означени с 0, а проходимите места с 1. Напишете програма, която пресмята търсения брой пътища.
- Вход:
- На входа се задава числото N < 100(20 mai) - размерът на дъската и матрица с единици и нули. Входът съдържа много примери.
- Изход:
- За всеки пример на отделен ред се отпечатва цяло число - търсения брой пътища.
- Пример:
- 2
- 1 1
- 1 1
- 3
- 1 0 1
- 1 0 1
- 1 1 1
- 2
- 0 1
- 1 1
- Решение на примера:
- 2
- 1
- 0
- */
Advertisement
Add Comment
Please, Sign In to add comment