Submission #1120317

#TimeUsernameProblemLanguageResultExecution timeMemory
1120317vjudge1Palindrome-Free Numbers (BOI13_numbers)C++17
36.67 / 100
1095 ms564 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define run  ios_base::sync_with_stdio(false);cin.tie(0);
 
#define ll int
#define pll pair<ll, ll>
#define ull unsigned ll
#define ld double
#define endl "\n"
#define pb push_back
#define fi first
#define se second
 
#define pi acos(-1)
#define N 100007
#define minimum -9223372036854775807
#define maximum -minimum
#define mod 1000000007
 
using namespace std;
using namespace __gnu_pbds;
template <class t>
using ordered_set=tree<t, null_type,less_equal<t>, rb_tree_tag,tree_order_statistics_node_update>;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

ll gcd(ll a, ll b)
{
	if(b==0)
		return a;
	return gcd(b, a%b);
}

ll lcm(ll a, ll b)
{
	return a/gcd(a, b)*b;
}

bool isprime(ll n)
{
	if(n==1)
		return 0;
	for(ll i=2; i*i<=n; i++)
	{
		if(n%i==0)
			return 0;
	}
	return 1;
}

ll binpow(ll a, ll b)
{
    a%=mod;
    ll res=1;
    while(b>0)
	{
        if(b%2==1)
            res=(res*a)%mod;
        a=(a*a)%mod;
        b/=2;
    }
    return res;
}

int main()
{
	run;
	ll a, b;
	cin>>a>>b;
	ll cvb=0;
	for(ll i=a; i<=b; i++)
	{
		string s=to_string(i);
//		cout<<s<<" ";
		if(s.length()<=2)
		{
			if(s.length()==1)
				continue;
			if(s[0]!=s[1])
				cvb++;
			continue;
		}
		bool bul=1;
		for(ll j=0; j<s.length()-1; j++)
		{
			string x="";
			x+=s[j];
			for(ll k=j+1; k<s.length(); k++)
			{
				x+=s[k];
				if(s[j]!=s[k])
					continue;
				//	cout<<x<<endl;
				string revx=x;
				reverse(revx.begin(), revx.end());
				if(revx==x)
				{
					bul=0;
					break;
				}
			}
			if(!bul)
				break;
		}
		if(bul)
			cvb++;
	}
	cout<<cvb<<endl;
}
// By Xanlar

Compilation message (stderr)

numbers.cpp: In function 'int main()':
numbers.cpp:85:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   85 |   for(ll j=0; j<s.length()-1; j++)
      |               ~^~~~~~~~~~~~~
numbers.cpp:89:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   89 |    for(ll k=j+1; k<s.length(); k++)
      |                  ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...