Untitled
unknown
plain_text
a year ago
1.3 kB
1
Indexable
#include <iostream> #include<iomanip> #include<cmath> #include<string> #include<numeric> #include <algorithm> using namespace std; int main() { int n; cin >> n; int y[251][251]; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { char number; cin >> number; y[i][j] = number - '0'; } } int s[251][251]; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { s[i][j] = 0; } } int k = 0; for (int i = 1; i <= n; i++) { k = k + y[1][i]; y[1][i] = k; s[1][i] = k; } k = 0; for (int i = 1; i <= n; i++) { k = k + y[i][1]; s[i][1] = k; y[i][1] = k; } k = y[2][2]; int l ; int d; for (l=2 ;l <= n; l++) { for ( d = 2; d <= n; d++) { k = y[l][d]; if(k+s[l][d-1]>=k+s[l-1][d]) { k = k + s[l - 1][d]; s[l][d] = k; } else { k = k + s[l][d-1]; s[l][d] = k; } } } char p[251][251]; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { p[i][j] = '.'; } } d = n; l = n; while (l != 1 && d != 1) { k = s[l][d]; if (k + s[l - 1][d] >= k + s[l][d - 1]) { p[l][d - 1] ='#'; d--; } else { p[l - 1][d] = '#'; l--; } } p[n][n] = '#'; p[1][1] = '#'; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { cout << p[i][j]; } cout<<'\n'; } }
Leave a Comment