原题链接
主要题意呢就是竞赛书上的那个意思,输入输出格式看一下原题链接就行了
先输入c,r接着给出c行r列的表
#include<bits/stdc++.h>
using namespace std;
char a[10][10];
int judge[10][10];
int main()
{
int c, r;
int sum = 1;
while (1)
{
cin >> c >> r;
if (c = 0)
break;
cin >> c >> r;
for (int i = 0; i < c; i++)
for (int j = 0; j < r; j++)
{
cin >> a[i][j];
if (a[i][j] == '*')
judge[i][j] = -1;
}
int ans = 1;
for (int i = 0; i < c; i++)
for (int j = 0; j < r; j++)
{
if ((i == 0 || j == 0) && judge[i][j] != -1)
judge[i][j] = ans;
ans++;
}
cout << "puzzle #" << sum << endl;
cout << "Across" << endl;
for(int i=0;i<c;i++)
for (int j = 0; j < r; j++)
{
for (int k = j; k < r; k++)
{
if (judge[i][j] == -1)
break;
else
{
if (k == j)
cout << " " << judge[i][k] << ".";
cout << a[i][k];
}
if (k == r - 1)
cout << endl;
}
}
for (int i = 0; i < r; i++)
for (int j = 0; j < c; j++)
{
for (int k = j; k < c; k++)
{
if (judge[i][j] == -1)
break;
else
{
if (k == j)
cout << " " << judge[k][i] << ".";
cout << a[k][i];
}
if (k == c - 1)
cout << endl;
}
}
sum++;
}
}
这是我自己写的,可能不对呜呜