Submission #1176206

#TimeUsernameProblemLanguageResultExecution timeMemory
1176206quocbaooPalindrome-Free Numbers (BOI13_numbers)C++20
100 / 100
0 ms328 KiB
#include<bits/stdc++.h> #define ll long long #define fi first #define se second using namespace std; ll dp[18][11][11][2],a[20]; ll f(int n,int gh,int s1,int s2,int bd){ // cout<<n<<" "<<gh<<" "<<kt<<" "<<sl<<'\n'; if (n<0) { return 1; } if (gh==0&&dp[n][s1][s2][bd]>=0) return dp[n][s1][s2][bd]; ll ans=0;int c=9;if (gh==1) c=a[n]; for (int i=0;i<=c;i++){ int ghm=0;if (gh==1&&i==c) ghm=1; if (i==0&&bd==1){ ans+=f(n-1,ghm,s1,s2,1);continue; } if (i==s1||i==s2) continue; ans+=f(n-1,ghm,s2,i,0); } if (gh==0) dp[n][s1][s2][bd]=ans; return ans; } ll g(ll n){ int d=0; while (n>0){ a[d]=n%10;d++;n/=10; } return f(d-1,1,10,10,1); } int main() { if (fopen("MATRIX.INP","r")){ freopen("MATRIX.INP","r",stdin); freopen("MATRIX.OUT","w",stdout); } ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); memset(dp,-1,sizeof(dp)); ll a,b;cin>>a>>b; if (a==0) cout<<g(b); else cout<<g(b)-g(a-1); }

Compilation message (stderr)

numbers.cpp: In function 'int main()':
numbers.cpp:34:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         freopen("MATRIX.INP","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
numbers.cpp:35:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |         freopen("MATRIX.OUT","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...