公共汽车,写一个程序,告诉司机怎么走能接到最多的乘客。

时间:2025-03-11 22:36:54
  • #region 公共汽车接最多人
  • public void GetBusMax()
  • {
  • int[,] road = null;
  • int[,] MAX = null;
  • int rows = 0;
  • int conlums = 0;
  • StreamReader sr = ("");
  • StreamWriter sw = ("");
  • string[] firstLine = ().Split(" ".ToCharArray());
  • rows = int.Parse(firstLine[0]);
  • conlums = int.Parse(firstLine[1]);
  • int k = int.Parse(firstLine[2]);
  • road = new int[rows + 1, conlums + 1];
  • MAX = new int[rows + 1, conlums + 1];
  • string strLine = null;
  • int n = 0;
  • int m = 0;
  • while ((strLine = ()) != null)
  • {
  • string[] str = (" ".ToCharArray());
  • n = int.Parse(str[0]);
  • m = int.Parse(str[1]);
  • k = int.Parse(str[2]);
  • road[n, m] = k;
  • }
  • MAX[1, 1] = road[1, 1];
  • for (int i = 1; i < rows + 1; i++)
  • {
  • for (int j = 1; j < conlums + 1; j++)
  • {
  • if (i > 1 && j > 1)
  • {
  • if (MAX[i - 1, j] > MAX[i, j - 1])
  • {
  • MAX[i, j] = MAX[i - 1, j] + road[i, j];
  • }
  • else
  • {
  • MAX[i, j] = MAX[i, j - 1] + road[i, j];
  • }
  • }
  • else if (i > 1)
  • {
  • MAX[i, j] = MAX[i - 1, j] + road[i, j];
  • }
  • else if (j > 1)
  • {
  • MAX[i, j] = MAX[i, j - 1] + road[i, j];
  • }
  • else
  • {
  • MAX[1, 1] = road[1, 1];
  • }
  • }
  • }
  • (MAX[rows, conlums]);
  • ();
  • ();
  • }
  • #endregion