日期:2023年10月5日
学号:S07246
姓名:江守栋
目录
· 比赛概况
总分 : 230 / 400
| T1 | T2 | T3 | T4 |
| AC | AC | 0分 | 30分 |
今天的 T4 我的思路是正确的,但是数据量炸掉了,扣了 70 分
· 比赛过程
前两题水题,15分钟秒了
看了眼第三题,感觉需要推很久,就先没做
第四题是一道图论,昨天晚上做了很久邻接表的题,现在掌握得比较熟练了
赛时在纸上画了一堆图,推了很久,找到了思路,
可惜我写了两层循环,在平台里提交过了,但是判题机运行时间超限了,丢了 70 分 。。。
· 题目分析
T1 【重复判断 repeat】
1、题目大意
判断字符串a是否是字符串b重复若干次得到的。
2、比赛中的思考
是道水题,模拟秒了
3、解题思路
两个指针同时分别遍历字符串 和 字符串
,
因为 的长度短,可能会多次遍历,所以需要每次 ++ 后 %
,保证下标不会越界
如果 !=
则标记为 false ,如果遍历结束了,而 j !=0 说明 a 中出现了多余元素,不是重复字符串。
4、AC代码
#include<bits/stdc++.h>
using namespace std;
int T;
string s,s1;
int main()
{
freopen("repeat.in","r",stdin);
freopen("repeat.out","w",stdout);
cin>>T;
while(T--){
bool flag=1;
cin>>s>>s1;
int j=0;
for(int i=0;i<s.size();i++){
if(s[i]!=s1[j]){
flag=0;
break;
}
j++;
j%=s1.size();
}
if(flag==1&&j==0){
cout<<"YES";
}
else{
cout<<"NO";
}
cout<<endl;
}
fclose(stdin);
fclose(stdout);
return 0;
}
T2【歪果仁学乘法 multiplication】
1、题目大意
现有一种不需要九九乘法表也可以计算乘法的方式,对于a × b:
- 将a,b的每一位上的数码画成线,不同位之间分隔开。
- a 和 b 的方向垂直画出。
- 数出每个方向上交点的个数,即是 c 对应位置上的数码。
样例图给出了计算12 ×13的方法:
1.红色线分别画出 1 条和 2 条;
2.蓝色线分别画出 1 条和 3 条;
3.数出红、蓝色线的交点个数,依次为 1,5,6 个;
4.得到答案:12

文章讲述了作者在一场编程比赛中的经历,包括四个题目:重复判断、乘法计数、去重求和和点集操作。作者分享了解题思路、代码以及比赛中的反思,强调了时间复杂度控制和数学思维在图论题目的重要性。
最低0.47元/天 解锁文章
519

被折叠的 条评论
为什么被折叠?



