日期:2023年10月1日星期日
学号:S07731
姓名:魏仲毅
1.比赛概况:
比赛总分共4题,满分400。
赛时拿到130分,其中第一题100分,第二题30分,第三题0分,第四题0分。
2.比赛过程:
先想出第一题的思路,觉得第一题很简单,就把第一题写了。
第二题也很简单,但思路有一点问题(先加再乘,不是先乘再加)。
第三题用了前缀和来写,但是没有操作好桶与前缀和数组的关系。
第四题直接输出了一个样例,命运已经注定。
3.题解报告:
(每题下分重点,情况,题意,赛时想法,题解,AC代码。)
(1) 第一题:重复判断(repeat)
重点: 模拟。
情况:赛中AC(第一道AC,好棒)。
题意:小可需要判断一个字符串a,是否由另一个字符串b重复若干次得到的。
赛时本题做题想法:特判长度,模拟重复s2,判断是不是s1。
题解:考察基础的字符串匹配,j表示当前匹配到b字符串的第j位。i表示当前匹配到a字符串的第i位,两两比较,如果t=t.size()等于 ,说明一遍已经复制完了,从零开始重新匹配(题解中用取模表示这一效果)。
我的AC 代码:
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int main(){
//freopen("repeat.in","r",stdin);
//freopen("repeat.out","w",stdout);
int t;
cin>>t;
while(t--){
cin>>s1>>s2;
if(s1.size()%s2.size()!