#include <bits/stdc++.h> using namespace std; long long t1[2002][2002],t2[2002][2002]; int main() { //ios_base::sync_with_stdio(0); int n, m , k, i, j, z, jj, zz; long long wyn = 0, w1, w2; cin >> n >> m >> k; for(i = 1; i <=m ; i++) for(j = i; j <= m; j++) { t2[i][j]=1;wyn++;} for(i =1; i < n ; i++){ wyn = 0; if(i % 2 == 1) { //t1 = for(j = 1; j <= m;j++){ for(z = j; z <= m; z++){ w1 = 0; //przedzial od j do z for(jj = 1; jj <=z;jj++) for(zz = j; zz <= m; zz++) { w1 +=t2[jj][zz]; } t1[j][z]= w1; wyn += w1; wyn = wyn % k; } } } else{ //t2 = for(j = 1; j <= m;j++){ for(z = j; z <= m; z++){ w2 = 0; for(jj = 1; jj <=z;jj++) for(zz = j; zz <= m; zz++) { w2 +=t1[jj][zz]; } t2[j][z] = w2; wyn += w2; wyn = wyn % k; } } } } cout << wyn% k; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <bits/stdc++.h> using namespace std; long long t1[2002][2002],t2[2002][2002]; int main() { //ios_base::sync_with_stdio(0); int n, m , k, i, j, z, jj, zz; long long wyn = 0, w1, w2; cin >> n >> m >> k; for(i = 1; i <=m ; i++) for(j = i; j <= m; j++) { t2[i][j]=1;wyn++;} for(i =1; i < n ; i++){ wyn = 0; if(i % 2 == 1) { //t1 = for(j = 1; j <= m;j++){ for(z = j; z <= m; z++){ w1 = 0; //przedzial od j do z for(jj = 1; jj <=z;jj++) for(zz = j; zz <= m; zz++) { w1 +=t2[jj][zz]; } t1[j][z]= w1; wyn += w1; wyn = wyn % k; } } } else{ //t2 = for(j = 1; j <= m;j++){ for(z = j; z <= m; z++){ w2 = 0; for(jj = 1; jj <=z;jj++) for(zz = j; zz <= m; zz++) { w2 +=t1[jj][zz]; } t2[j][z] = w2; wyn += w2; wyn = wyn % k; } } } } cout << wyn% k; return 0; } |