Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33708 22级廖思学 【S】T1 C++ 通过 100 85 MS 4144 KB 755 2024-10-20 14:29:35

Tests(10/10):


#include<bits/stdc++.h> using namespace std; #define int long long const int M=998244353; string s; int ksm(int a,int b){ int ans=1,base=a; while(b>0){ if(b&1){ans*=base;ans%=M;} b>>=1;base*=base;base%=M; //cout<<b<<" "<<ans<<endl; } return ans; } signed main(){ //freopen("pair.in","r",stdin); //freopen("pair.out","w",stdout); cin>>s; int ans=0,res=2; int l=s.length();s='0'+s; ans+=ksm(3,l-1);//cout<<ans<<endl; for(int i=2;i<=l;i++){ if(s[i]=='0'){res*=2;res%=M;} else{ ans+=(((res*2)%M)*ksm(3,l-i))%M;ans%=M; //cout<<i<<" "<<ans<<endl; } } ans+=res;ans%=M; cout<<ans<<endl; return 0; }


测评信息: