제출 #1075578

#제출 시각아이디문제언어결과실행 시간메모리
1075578huyngodzzPalindrome-Free Numbers (BOI13_numbers)C++14
72.50 / 100
2 ms3020 KiB
///huynhocute123/// #include<bits/stdc++.h> using namespace std; #define S second #define F first #define pii pair<int,int> #define piii pair<int,pair<int,int>> #define pb push_back #define pi M_PI #define FOR(i, a, b) for(int i = a; i <= b; ++i) #define REP(i, a, b) for(int i = b; i >= a; --i) #define ALL(v) v.begin(),v.end() #define inp(name) if(fopen(name, "r")) freopen(name, "r", stdin); #define out(name) if(fopen(name, "w")) freopen(name, "w", stdout); //random_device rd; //mt19937 rng(rd()); //#pragma GCC optimize ("O3") //#pragma GCC optimize ("unroll-loops") //#pragma GCC target("popcnt") #define int long long const int maxN = 1e5 ; const int modd = 1e9 + 7; const int base = 2309; const int MAX = 1e9+9; void minimize(int &u, int v){ if(v < u) u = v; } void maximize(int &u, int v){ if(v > u) u = v; } int n, k, t, m, res, a[maxN]; long long dp[20][3][12][12][3]; long long l, r; bool vis[maxN]; vector<int> e[maxN]; void pre(long long val){ n =0; while(val){ a[++n] = val%10; val /=10; } reverse(a+1, a+1 +n); } long long calc(int id ,int tight, int prev1, int prev2, int ok){ if(id > n)return ok; if(dp[id][tight][prev1][prev2][ok] != -1)return dp[id][tight][prev1][prev2][ok]; long long ans =0; int lim= (tight == 0 ? 9 : a[id]); FOR(i, 0 ,lim){ int Ntight = (i < lim ? 0 : tight); if(i == prev1 || i == prev2 )continue; int Nok = (i == 0 ? ok : 1); int P1 = prev2; int P2= i; ans += calc(id +1, Ntight , P1, P2,Nok); } return dp[id][tight][prev1][prev2][ok] = ans; } long long get(long long val){ pre(val); memset(dp, -1 ,sizeof(dp)); return calc(1, 1, 10, 10, 0 ); } void solve(){ cin >> l >> r; cout << get(r) - get(l -1); } signed main(){ // freopen("name.inp","r",stdin); // freopen("name.out","w",stdout); ios_base::sync_with_stdio(false); cin.tie(0); inp("task.inp"); t = 1; // cin >> t; while( t-- )solve(); }

컴파일 시 표준 에러 (stderr) 메시지

numbers.cpp: In function 'int main()':
numbers.cpp:13:47: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 | #define inp(name) if(fopen(name, "r")) freopen(name, "r", stdin);
      |                                        ~~~~~~~^~~~~~~~~~~~~~~~~~
numbers.cpp:75:5: note: in expansion of macro 'inp'
   75 |     inp("task.inp");
      |     ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...