QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#471187#6698. Flipping Gamemufeng12Compile Error//C++232.3kb2024-07-10 19:08:322024-07-10 19:08:33

Judging History

你现在查看的是最新测评结果

  • [2024-07-10 19:08:33]
  • 评测
  • [2024-07-10 19:08:32]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define ld long double
#define inf 0x3f3f3f3f
#define all(x) (x).begin(),(x).end()
#define maxint INT32_MAX
#define minint INT32_MIN
#define maxll INT64_MAX
#define minll INT64_MIN
#define mod  998244353
#define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
#pragma GCC optimize(2)
void write(int x);
ll c[120][120];
char *p1,*p2,buf[100000];
int read();
const int N=1e5+10;
int fact[N],infact[N];
int qpow(int a,int b)
{
    int ans=1;
    while(b)
    {
        if(b&1)ans=(long long)ans*a%mod;
        b>>=1;
        a=(long long)a*a%mod;
    }
    return ans;
}
void init()
{
    fact[0]=infact[0]=1;
    for(int i=1;i<N;i++)
    {
        fact[i]=(long long)fact[i-1]*i%mod;
        infact[i]=(long long)infact[i-1]*qpow(i,mod-2)%mod;
    }
}

int C(int a,int b)
{
    if(a<0||b<0||a<b) return 0;
    return (long long)fact[a]*infact[b]%mod*infact[a-b]%mod;// fact[a]:a!  infact[a]:1/(a!)
}

void solve(){
    int n,m,k;
    cin>>n>>k>>m;
    string s1,s2;
    cin>>s1>>s2;
    int sum=0;
    // int dp[120][120];
    vector<vector<ll>> dp(k+1,vector<int>(n+1,0)); 
    for(int i=0;i<n;i++){
        sum+=abs(s1[i]-s2[i]);
    }
    dp[0][sum]=1;
    for(int i=1;i<=k;i++){
        for(int j=0;j<=n;j++){
            for(int x=0;x<=j&&x<=m;x++){
                if(n-j<m-x) continue;
                dp[i][j+m-2*x]+=(1ll*dp[i-1][j]*C(j,x)%mod*C(n-j,m-x)%mod)%mod;
                dp[i][j+m-2*x]%=mod;
            }
        }
    }
    cout<<dp[k][0]<<endl;
}

int main() {
    int t=1;
    //yhsj();
    init();
    cin>>t;
    while(t--) solve();
    return 0;
}



void write(int x)
{
    if(x<0)
        putchar('-'),x=-x;
    if(x>9)
        write(x/10);
    putchar(x%10+'0');
    return;
}
int read()
{
    int x=0,f=1;
    char ch=nc();
    while(ch<48||ch>57)
    {
        if(ch=='-')
            f=-1;
        ch=nc();
    }
    while(ch>=48&&ch<=57)
        x=x*10+ch-48,ch=nc();
   	return x*f;
}
// ll ksm(ll a,ll b,ll mod){
//     ll ans=1;
//     a%=mod;
//     while(b>0){
//         if(b&1) ans=ans*a%mod;
//         a=a*a%mod;
//         b>>=1;
//     }
//     return ans;
// }

Details

answer.code: In function ‘void solve()’:
answer.code:55:49: error: no matching function for call to ‘std::vector<std::vector<long long int> >::vector(int, std::vector<int>)’
   55 |     vector<vector<ll>> dp(k+1,vector<int>(n+1,0));
      |                                                 ^
In file included from /usr/include/c++/13/vector:66,
                 from /usr/include/c++/13/functional:64,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:53,
                 from answer.code:1:
/usr/include/c++/13/bits/stl_vector.h:704:9: note: candidate: ‘template<class _InputIterator, class> constexpr std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with <template-parameter-2-2> = _InputIterator; _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >]’
  704 |         vector(_InputIterator __first, _InputIterator __last,
      |         ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:704:9: note:   template argument deduction/substitution failed:
answer.code:55:49: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘int’ and ‘std::vector<int>’)
   55 |     vector<vector<ll>> dp(k+1,vector<int>(n+1,0));
      |                                                 ^
/usr/include/c++/13/bits/stl_vector.h:675:7: note: candidate: ‘constexpr std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; allocator_type = std::allocator<std::vector<long long int> >]’
  675 |       vector(initializer_list<value_type> __l,
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:675:43: note:   no known conversion for argument 1 from ‘int’ to ‘std::initializer_list<std::vector<long long int> >’
  675 |       vector(initializer_list<value_type> __l,
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:656:7: note: candidate: ‘constexpr std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, std::__type_identity_t<_Alloc>&) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; std::__type_identity_t<_Alloc> = std::allocator<std::vector<long long int> >]’
  656 |       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:656:23: note:   no known conversion for argument 1 from ‘int’ to ‘std::vector<std::vector<long long int> >&&’
  656 |       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
      |              ~~~~~~~~~^~~~
/usr/include/c++/13/bits/stl_vector.h:637:7: note: candidate: ‘constexpr std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&, std::false_type) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; allocator_type = std::allocator<std::vector<long long int> >; std::false_type = std::integral_constant<bool, false>]’
  637 |       vector(vector&& __rv, const allocator_type& __m, false_type)
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:637:7: note:   candidate expects 3 arguments, 2 provided
/usr/include/c++/13/bits/stl_vector.h:632:7: note: candidate: ‘constexpr std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&, std::true_type) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; allocator_type = std::allocator<std::vector<long long int> >; std::true_type = std::integral_constant<bool, true>]’
  632 |       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:632:7: note:   candidate expects 3 arguments, 2 provided
/usr/include/c++/13/bits/stl_vector.h:621:7: note: candidate: ‘constexpr std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, std::__type_identity_t<_Alloc>&) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >; std::__type_identity_t<_Alloc> = std::allocator<std::vector<long long int> >]’
  621 |       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:621:28: note:   no known conversion for argument 1 from ‘int’ to ‘const std::vector<std::vector<long long int> >&’
  621 |       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
      |              ~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:617:7: note: candidate: ‘constexpr std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = std::vector<long long int>; _Alloc = std::allocator<std::vector<long long int> >]’
  617 |       vector(vector&&) noexcept = default;
      |       ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:617:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/13/bits/stl_vector.h:598:7: note: candidate: ‘constexpr s...