

我只得了四十分 帮我看看细节错在哪了
{
#include
int main()
{
int n,m,t,k1;
scanf("%d %d %d %d",&n,&m,&t,&k1);
int a[20][20];
int i,j,k,l;
for(i=0;i
for(j=0;j
scanf("%d",&a[i][j]);
}
}
/*遍历每一个5,i和j来遍历
每一个5上下左右判断!=5,对count++
并记录这个数
每次比较都与记录区间作比较,
不一样再count++
在边缘和非边缘分开判断 */
int b[60];
for(i=0;i<50;i++){
b[i]=0;
}
b[50]=k1;
int count=0;
int left,right,on,below;
int again=0;//1代表重复了
for(i=0;i
for(j=0;j
if(a[i][j]==k1){
left=1;
right=1;
on=1;
below=1;
again=0;
if(i==0&&j==0){
on=0;left=0;
}else if(i==0&&j==m-1){
below=0;left=0;
}else if(i==n-1&&j==0){
on=0;right=0;
}else if(i==n-1&&j==m-1){
below=0;right=0;
}else if(i==0){
on=0;
}else if(i==n-1){
below=0;
}else if(j==0){
left=0;
}else if(j==m-1){
right=0;
}
if(a[i][j]!=a[i-1][j]&&on==1){ //上
for(k=0;k<=50;k++){
if(a[i-1][j]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i-1][j];
count++;
}else again=0;
}else if(a[i][j]!=a[i][j-1]&&left==1){ //左
for(k=0;k<=50;k++){
if(a[i][j-1]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i][j]-1;
count++;
}else again=0;
}else if(a[i][j]!=a[i][j+1]&&right==1){ //右
for(k=0;k<=50;k++){
if(a[i][j+1]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i][j+1];
count++;
}else again=0;
}else if(a[i][j]!=a[i+1][j]&&below==1){ //下
for(k=0;k<=50;k++){
if(a[i+1][j]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i+1][j];
count++;
}else again=0;
}
}
}
}
printf("%d",count);
return 0;
}
```#include
int main()
{
int n,m,t,k1;
scanf("%d %d %d %d",&n,&m,&t,&k1);
int a[20][20];
int i,j,k,l;
for(i=0;i
for(j=0;j
scanf("%d",&a[i][j]);
}
}
/*遍历每一个5,i和j来遍历
每一个5上下左右判断!=5,对count++
并记录这个数
每次比较都与记录区间作比较,
不一样再count++
在边缘和非边缘分开判断 */
int b[50];
for(i=0;i<50;i++){
b[i]=0;
}
b[50]=k1;
int count=0;
int left,right,on,below;
int again=0;//1代表重复了
for(i=0;i
for(j=0;j
if(a[i][j]==k1){
left=1;
right=1;
on=1;
below=1;
again=0;
if(i==0&&j==0){
on=0;left=0;
}else if(i==0&&j==m-1){
below=0;left=0;
}else if(i==n-1&&j==0){
on=0;right=0;
}else if(i==n-1&&j==m-1){
below=0;right=0;
}else if(i==0){
on=0;
}else if(i==n-1){
below=0;
}else if(j==0){
left=0;
}else if(j==m-1){
right=0;
}
if(a[i][j]!=a[i-1][j]&&on==1){ //上
for(k=0;k<=50;k++){
if(a[i-1][j]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i-1][j];
count++;
}else again=0;
}else if(a[i][j]!=a[i][j-1]&&left==1){ //左
for(k=0;k<=50;k++){
if(a[i][j-1]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i][j]-1;
count++;
}else again=0;
}else if(a[i][j]!=a[i][j+1]&&right==1){ //右
for(k=0;k<=50;k++){
if(a[i][j+1]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i][j+1];
count++;
}else again=0;
}else if(a[i][j]!=a[i+1][j]&&below==1){ //下
for(k=0;k<=50;k++){
if(a[i+1][j]==b[k]){
again=1;
break;
}
}
if(again==0){
b[count]=a[i+1][j];
count++;
}else again=0;
}
}
}
}
printf("%d",count);
return 0;
}
}
#include<stdio.h>//xiang lin qu yu
int main()
{
int n,m,t,k;
int i,j;
int a[25][25];
int b[2400]={0};
int p=0;
scanf("%d %d %d %d",&n,&m,&t,&k);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
//p++;
if(a[i][j]==k)
{
if(a[i-1][j]!=k)
{b[p]=a[i-1][j]; p++;}
if(a[i+1][j]!=k)
{b[p]=a[i+1][j]; p++; }
if(a[i][j-1]!=k)
{b[p]=a[i][j-1]; p++; }
if(a[i][j+1]!=k)
{b[p]=a[i][j+1]; p++; }
}
}
}
// printf("%d\n",p);
int count=0;
for(i=1;i<=t;i++)
{
for(j=0;j<=2400;j++)
{
if(b[j]==i&&b[j]!=k)
{
count++;
// printf("%d\n",b[j]);
break;
}
}
}
printf("%d",count);
return 0;
}