feat: 添加P8905.cpp和P3102.cpp两个题目解答

添加了两个编程题目的解答代码文件,分别处理图论问题和字符串匹配问题
This commit is contained in:
Zengtudor 2025-11-14 11:28:11 +08:00
parent f6d958f00a
commit 66740ddb77
2 changed files with 62 additions and 0 deletions

34
src/11/13/P3102.cpp Normal file
View File

@ -0,0 +1,34 @@
#include <algorithm>
#include <cstdint>
#include <iostream>
#include <istream>
#include <string>
using ll = int64_t;
std::string s;
ll ans;
int main(){
std::cin.tie(nullptr);
std::iostream::sync_with_stdio(false);
std::cin>>s;
for(ll i=1;i<s.size();i++){
ll l1=i,l2=s.size()-i;
for(ll j=0;j<std::min(l1,l2);j++){
if(s[j]!=s[i+j]){
goto nxt1;
}
}
ans++;
nxt1:;
for(ll j=0;j<std::min(l1,l2);j++){
if(s[i-1-j]!=s[s.size()-1-j]){
goto nxt2;
}
}
ans++;
nxt2:;
}
std::cout<<ans*2<<"\n";
}

28
src/11/13/P8905.cpp Normal file
View File

@ -0,0 +1,28 @@
#include <cstdint>
#include <iostream>
#include <istream>
#include <vector>
using ll = int64_t;
ll n,m;
struct P{
ll u,v;
};
std::vector<std::vector<P>> a;
std::vector<ll> f;
int main(){
std::iostream::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cin>>n>>m;
a.resize(n+1);
f.resize(n+1);
for(ll i=1;i<=m;i++){
ll u,v;
std::cin>>u>>v;
f[u]++,f[v]++;
a[u].emplace_back(v);
a[v].emplace_back(u);
}
}