2021-02-26

/妈妈找宝宝,1010矩阵,由数字-1,-2,-3,0以及正整数组成,其中,-2表示MUM的位置,-3表示BABY的位置,
//-1表示此路不通,0表示此路能走,但没有糖果,正整数表示可以走通还可以获得相对应的糖果数,
///求出:mum找到BABY的所有路径中,路径最短的并输出对应的糖果数,如多路径相同,输出糖果数较多的,
///如果不能找到BABY,输出-1;(程序保证只有一个-2和-3)
//例子:5
5 3 -1 0 -2 6,3 4 5 0 6,1 4 8 7 2,7 2 5 -1 3,-3 3 6 7 3 29颗糖 路线 -2078563
/*
#define N 5
void readAlldata(int data[][N])
{
int i = 0;
int j = 0;
for(i = 0; i < N; i++)
{ for(j = 0; j < N; j++)
{
scanf("%d", &data[i][j]);
}
}
}

void FindMomPos(int (*data)[N], int *MomPos)
{
int i = 0;
int j = 0;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
if(data[i][j] == -2)
{
MomPos[0] = i;
MomPos[1] = j;
return;
}
}
}
}

void recursive(int data[][N], int MomPos[2], int curstep, int *pstep, int curFruits, int *pFruits,char *curpath, char *lastpath)
{
int map[N][N] = {0};
int mom[2] = {0};
char path[1000] = {0};
char temp[1000] = {0};
//向左走
if(MomPos[1] - 1 >= 0 && data[MomPos[0]][MomPos[1] - 1] >= 0)
{
memcpy(map, data, N * N * sizeof(int));
memcpy(mom, MomPos, 2 * sizeof(int));
mom[1] -= 1;
//记录妈妈的位置
//------------------------------------------------------------
sprintf(temp, “%d”, map[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
//------------------------------------------------------------
map[MomPos[0]][MomPos[1]] = -1;
if(curstep + 1 > *pstep)
{
return;
}
recursive(map, mom, curstep + 1, pstep, curFruits + map[mom[0]][mom[1]], pFruits, path, lastpath);
}
else if(MomPos[1] - 1 >= 0 && data[MomPos[0]][MomPos[1] - 1] == -3)
{
sprintf(temp, “%d”, data[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
if(curstep + 1 < *pstep)
{
*pstep = curstep + 1;
*pFruits = curFruits;
strcpy(lastpath, path);
}
else if(curstep + 1 == *pstep)
{
*pFruits = *pFruits > curFruits ? *pFruits : curFruits;
strcpy(lastpath, path);
}
}
//向右走
if(MomPos[1] + 1 < N && data[MomPos[0]][MomPos[1] + 1] >= 0)
{
memcpy(map, data, N * N * sizeof(int));
memcpy(mom, MomPos, 2 * sizeof(int));
mom[1] += 1;
//记录妈妈的位置
//------------------------------------------------------------
sprintf(temp, “%d”, map[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
//------------------------------------------------------------
map[MomPos[0]][MomPos[1]] = -1;
if(curstep + 1 > *pstep)
{
return;
}
recursive(map, mom, curstep + 1, pstep, curFruits + map[mom[0]][mom[1]], pFruits, path, lastpath);
}
else if(MomPos[1] + 1 < N && data[MomPos[0]][MomPos[1] + 1] == -3)
{
sprintf(temp, “%d”, data[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
if(curstep + 1 < *pstep)
{
*pstep = curstep + 1;
*pFruits = curFruits;
strcpy(lastpath, path);
}
else if(curstep + 1 == *pstep)
{
*pFruits = *pFruits > curFruits ? *pFruits : curFruits;
strcpy(lastpath, path);
}
}
//向上走
if(MomPos[0] - 1 >= 0 && data[MomPos[0] - 1][MomPos[1]] >= 0)
{
memcpy(map, data, N * N * sizeof(int));
memcpy(mom, MomPos, 2 * sizeof(int));
mom[0] -= 1;
//记录妈妈的位置
//------------------------------------------------------------
sprintf(temp, “%d”, map[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
//------------------------------------------------------------
map[MomPos[0]][MomPos[1]] = -1;
if(curstep + 1 > *pstep)
{
return;
}
recursive(map, mom, curstep + 1, pstep, curFruits + map[mom[0]][mom[1]], pFruits,path, lastpath);
}
else if(MomPos[0] - 1 >= 0 && data[MomPos[0] - 1][MomPos[1]] == -3)
{
sprintf(temp, “%d”, data[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
if(curstep + 1 < *pstep)
{
*pstep = curstep + 1;
*pFruits = curFruits;
strcpy(lastpath, path);
}
else if(curstep + 1 == *pstep)
{
*pFruits = *pFruits > curFruits ? *pFruits : curFruits;
strcpy(lastpath, path);
}
}
//向下走
if(MomPos[0] + 1 < N && data[MomPos[0] + 1][MomPos[1]] >= 0)
{
memcpy(map, data, N * N * sizeof(int));
memcpy(mom, MomPos, 2 * sizeof(int));
mom[0] += 1;
//记录妈妈的位置
//------------------------------------------------------------
sprintf(temp, “%d”, map[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
//------------------------------------------------------------
map[MomPos[0]][MomPos[1]] = -1;
if(curstep + 1 > *pstep)
{
return;
}
recursive(map, mom, curstep + 1, pstep, curFruits + map[mom[0]][mom[1]], pFruits,path, lastpath);
}
else if(MomPos[0] + 1 < N && data[MomPos[0] + 1][MomPos[1]] == -3)
{
sprintf(temp, “%d”, data[MomPos[0]][MomPos[1]]);
strcpy(path, curpath);
strcat(path,temp);
if(curstep + 1 < *pstep)
{
*pstep = curstep + 1;
*pFruits = curFruits;
strcpy(lastpath, path);
}
else if(curstep + 1 == *pstep)
{
*pFruits = *pFruits > curFruits ? *pFruits : curFruits;
strcpy(lastpath, path);
}
}
}

int main()
{
char curpath[100] = {0};
char lastpath[100] = {0};
int data[N][N] = {0};
int MomPos[2] = {0}; //定义妈妈在地图中的位置
int steps = N * N + 1;
int fruits = 0;
int curstep = 0;
int curFruits = 0;
readAlldata(data);
FindMomPos(data, MomPos); //遍历地图找妈妈的位置
recursive(data, MomPos, curstep, &steps, curFruits, &fruits, curpath, lastpath); //递归找宝宝,找的同时不断修改最少步数和糖果数
printf("%d\n", steps == N * N + 1 ? -1 : fruits);
printf("%s\n", lastpath);
return 0;
}
*/

2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值