Submission #1184429

#TimeUsernameProblemLanguageResultExecution timeMemory
1184429son2008Palindrome-Free Numbers (BOI13_numbers)C++20
100 / 100
1 ms784 KiB
#include<bits/stdc++.h> using namespace std; #define task "task" #define ii pair<int,int> #define fi first #define se second #define int long long #define ll long long #define ld double #define mp make_pair #define lg2 30 #define iii pair<int,ii> #define iiii pair<ii,ii> //#define base 29 #define eps 1e-8 int dx[]= {0LL,0LL,1,-1,1,1,-1,-1}; int dy[]= {1,-1,0LL,0LL,1,-1,1,-1}; const int maxn=4e5+1; const int mod=1e9+7; void init() { } string s; int dp[20][11][11][2][2][2]; int dqcn(int i,int lst1,int lst2,bool ko,bool doi,bool lim) { if(i==s.size())return !doi; int &ans=dp[i][lst1][lst2][ko][doi][lim]; if(ans!=-1)return ans; ans=0; int limm=9; if(lim==true)limm=s[i]-'0'; for(int j=0;j<=limm;j++) { ko|=(j!=0); if(ko) ans+=dqcn(i+1,j,lst1,ko,doi|(j==lst1)|(j==lst2),lim&&(j==limm)); else ans+=dqcn(i+1,lst1,lst2,ko,doi,lim&&(j==limm)); } return ans; } int f(int x) { s=to_string(x); memset(dp,-1,sizeof(dp)); return dqcn(0,10,10,false,false,true); } void process() { int a,b; cin>>a>>b; cout<<f(b)-f(a-1); } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if(fopen(task".inp","r")) { freopen(task".inp","r",stdin); freopen(task".out","w",stdout); } int t=1; // cin>>t; while(t--) { init(); process(); cout<<'\n'; } cerr <<endl<< "TIME : " << clock() * 0.001 << "s" << endl ; }

Compilation message (stderr)

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