Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define mod 1000000007;
- #define ll long long
- using namespace std;
- ll help(ll a, ll b,ll ** arr)
- {
- if (a < 0 || b < 0)
- {
- return 0;
- }
- if (a == 0 && b == 0)
- {
- return 1;
- }
- if(arr[a][b] != -1){
- return arr[a][b];
- }
- else
- return arr[a][b] = help(a - 2, b - 1,arr) + help(a - 1, b - 2,arr);
- }
- int main()
- {
- int t;
- cin >> t;
- ll flag = 0;
- ll a = 0, b = 0;
- vector<pair<ll, ll>>p (t);
- ll index = 0;
- while (t)
- {
- cin >> a >> b;
- p[index].first = a;
- p[index].second = b;
- index++;
- t--;
- }
- cout << p[0].first <<p[1].first <<" ";
- for (ll k = 0; k < p.size(); k++)
- {
- a = p[k].first;
- b = p[k].second;
- ll ** arr = new ll*[a+1];
- for(ll i = 0; i < a+1; i++){
- arr[i] = new ll[b+1];
- }
- for (ll i = 0; i < a+1; i++)
- {
- for (ll j = 0; j < b+1; j++)
- {
- arr[i][j] = -1;
- }
- }
- flag = help(a, b,arr);
- free(arr);
- if(flag){
- cout << "YES" << endl;
- }
- else{
- cout << "NO" << endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement