Шарпы ругаются на на эту строку
{cin>>buf; if(buf=='1') a[i][j]=1; else a[i][j]=0;}.
я перерисовал как
buf = char.Parse(Console.ReadLine());
и так далее. выдает ошибку что нельзя ввести больше одного символа
#include <iostream>
#include <string>
using namespace std;
int a[1000][1000],n;
bool prov(int x,int y,int k)
{
for(int i=x;i<=x+k;i++)
for(int j=y;j<=y+k;j++)
if(a[i][j]==0) return false;
return true;
}
int main()
{
char buf;
cin>>n;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{cin>>buf; if(buf=='1') a[i][j]=1; else a[i][j]=0;}
for(int k=n-1;k>=0;k--)
for(int i=0;i<n-k;i++)
for(int j=0;j<n-k;j++)
if(prov(i,j,k)) {cout<<(k+1)*(k+1);return 0;}
return 0;
}
Определите buf как string. А далее buf = Console.ReadLine();
Сравнивайте тоже по строке, в C# это двойная кавычка: if (buf == "1") a[i,j] = 1;
В любом случае, код будет примерно таким:
class Program
{
static int[,] a = new int[1000,1000];
static bool Prov(int x, int y, int k)
{
for (int i = x; i <= x + k; i++)
for (int j = y; j <= y + k; j++)
if (a[i,j] == 0) return false;
return true;
}
static void Main(string[] args)
{
string buf;
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
buf = Console.ReadLine();
if (buf == "1") a[i,j] = 1;
else a[i,j] = 0;
}
for (int k = n - 1; k >= 0; k--)
for (int i = 0; i < n - k; i++)
for (int j = 0; j < n - k; j++)
if (Prov(i, j, k))
Console.WriteLine((k + 1) * (k + 1));
}
}
Фрилансер или Digital-агентство - Как сделать правильный выбор?
Использую Live ChartSeriesCollection передает LineSeries в котором Values = ChartValues
Делаю для игры перевод на разные языкиВ первом скрипте есть публичный класс с публичными переменными
Как назначить определенному элементу массива UI объекта (контент в scrollview) соответствующий спрайт из массива спрайта?
Модель NewModel приходит на контроллер, нужно ее поместить в сессию: