Language: C++

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
const ll INF=mod*mod;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
#define all(x) (x).begin(),(x).end()
ll min(ll a,ll b){
  if(a>b){
    return b;
    }
      else{
        return a;
      }
  }
  
  ll max(ll a,ll b){
    if(a>b){
      return a;
    }
    else{
      return b;
    }
  }

ll power(ll a,ll b){
 ll ans=1;
 for(ll i=1;i<=b;i++){
ans*=a;
  }
  return ans;
}

 ll gcd(ll m,ll n){
 	if(n==0){
       return m;
     }
   return gcd(n,m%n);
 }
ll lcm(ll a,ll b){
  ll g=gcd(a,b);
  return a/gcd(a,b)*b;
		

}
int main(){
  
  ll S;
  cin>>S;
  
 ll dp[S.size()+1][13];
  
  rep(i,S.size()){
    rep(j,13){
dp[i][j]=0;
    }
  }
  ll num=1;
rep(i,S.size()){
if(S[S.size()-1]=='?'){
  rep(j,10){
    rep(k,13){
    dp[i+1][(j*num+k)%13]+=dp[i][k];
      dp[i+1][(j*num+k)%13]%=mod;
    }
  }
}

  else{
    ll j=S[S.size()-1-i]-'0';
     rep(k,13){
dp[i+1][(j*tmp+k)%13]+=dp[i][k];//上と同じ要領でi文字までであまりがkのものをi+1に引き継ぐ
    dp[i+1][(j*tmp+k)%13]%=mod;
  }
}
      
      tmp*=10;//下から桁を見ていくため
      tmp%=13;
    }
cout<<dp[S.size()][5]<<endl;
  
  }
      
    
    
    

Compiler output:
a.cc: In function 'int main()':
a.cc:51:10: error: request for member 'size' in 'S', which is of non-class type 'll' {aka 'long long int'}
   51 |  ll dp[S.size()+1][13];
      |          ^~~~
a.cc:53:11: error: request for member 'size' in 'S', which is of non-class type 'll' {aka 'long long int'}
   53 |   rep(i,S.size()){
      |           ^~~~
a.cc:6:43: note: in definition of macro 'rep'
    6 | #define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
      |                                           ^
a.cc:55:1: error: 'dp' was not declared in this scope; did you mean 'dup'?
   55 | dp[i][j]=0;
      | ^~
      | dup
a.cc:59:9: error: request for member 'size' in 'S', which is of non-class type 'll' {aka 'long long int'}
   59 | rep(i,S.size()){
      |         ^~~~
a.cc:6:43: note: in definition of macro 'rep'
    6 | #define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
      |                                           ^
a.cc:60:8: error: request for member 'size' in 'S', which is of non-class type 'll' {aka 'long long int'}
   60 | if(S[S.size()-1]=='?'){
      |        ^~~~
a.cc:63:5: error: 'dp' was not declared in this scope; did you mean 'dup'?
   63 |     dp[i+1][(j*num+k)%13]+=dp[i][k];
      |     ^~
      |     dup
a.cc:70:14: error: request for member 'size' in 'S', which is of non-class type 'll' {aka 'long long int'}
   70 |     ll j=S[S.size()-1-i]-'0';
      |              ^~~~
a.cc:72:1: error: 'dp' was not declared in this scope; did you mean 'dup'?
   72 | dp[i+1][(j*tmp+k)%13]+=dp[i][k];//上と同じ要領でi文字までであまりがkのものをi+1に引き継ぐ
      | ^~
      | dup
a.cc:72:12: error: 'tmp' was not declared in this scope; did you mean 'tm'?
   72 | dp[i+1][(j*tmp+k)%13]+=dp[i][k];//上と同じ要領でi文字までであまりがkのものをi+1に引き継ぐ
      |            ^~~
      |            tm
a.cc:77:7: error: 'tmp' was not declared in this scope; did you mean 'tm'?
   77 |       tmp*=10;//下から桁を見ていくため
      |       ^~~
      |       tm
a.cc:80:7: error: 'dp' was not declared in this scope; did you mean 'dup'?
   80 | cout<<dp[S.size()][5]<<endl;
      |       ^~
      |       dup
a.cc:80:12: error: request for member 'size' in 'S', which is of non-class type 'll' {aka 'long long int'}
   80 | cout<<dp[S.size()][5]<<endl;
      |            ^~~~