社区讨论
2号测试点核桃正确,洛谷RE,求条
P1789【Mc生存】插火把参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mlyv5vcp
- 此快照首次捕获于
- 2026/02/23 15:37 2 周前
- 此快照最后确认于
- 2026/02/25 14:42 2 周前
这是我在洛谷的结果↓
这是我在核桃的结果↓(看得到已通过吧)
这是源代码↓
CPP
这是我在核桃的结果↓(看得到已通过吧)
这是源代码↓#include <bits/stdc++.h>
using namespace std;
bool check[105][105];//标记被点亮的区域
int n,m,k,/*含义同描述*/sum;//统计刷怪区的个数
struct position{//,用于输入并处理位置,减少空间使用
int x,y;
}t,s;//分别用于输入火把和萤石的位置
void light(int x,int y){//标记地点,避免多次写重复代码
if(!check[x][y]) check[x][y]=1;// C++中非零为真
}
void torch(int x,int y){//处理火把
for(int i=x-2;i<=x+2;i++) light(i,y);//处理所在行
for(int i=y-2;i<=y+2;i++) light(x,i);//处理所在列
light(x-1,y-1);light(x+1,y+1);
light(x-1,y+1);light(x+1,y-1);//处理剩下4个
}
void stone(int x,int y){//处理萤石
for(int i=x-2;i<=x+2;i++)
for(int j=y-2;j<=y+2;j++)
light(i,j);//双重循环处理所在5*5矩阵
}
int main(){//从主函数开始阅读代码是一个好习惯哦
cin>>n>>m>>k;
for(int i=1;i<=m;i++){//火把
cin>>t.x>>t.y;
torch(t.x,t.y);
}
for(int i=1;i<=k;i++){//萤石
cin>>s.x>>s.y;
stone(s.x,s.y);
}
for(int i=1;i<=n;i++)//统计
for(int j=1;j<=n;j++)
if(!check[i][j])
sum++;
cout<<sum;
}
哪位大佬能帮我看一下,为什么一个代码在两个平台的评测结果会不一样?我这个代码可简洁了,比人家说什么七八十行的都要短
回复
共 3 条回复,欢迎继续交流。
正在加载回复...