Skip to main content

codeforces-beautiful year

#include<bits/stdc++.h>
using namespace std;
bool check(int n)
{
 int count[10]={0};
 while(n!=0)
 {
  int t=n%10;
  count[t]++;
  n=n/10;
 }
 int flag=1;
 for(int i=0;i<10;i++)
 {
  if(count[i]>1)
  {
   return false;
   flag=0;
   break;
  }
 }
 if(flag==1)
  return true;
}
int main()
{
 int y;
 cin>>y;
 int i;
 if(check(y))
  y++;
 for( i=y;;i++)
 {
  if(check(i))
  {
   cout<<i;
   break;
  }
 }

 return 0;

}

Comments

Popular posts from this blog

Gcd using recursion

#include<iostream> #include<algorithm> using namespace std; int gcd(int m,int n) {     if(max(m,n)%min(m,n)==0)     {         return min(m,n);     }     else     {         gcd(max(m,n)%min(m,n),min(m,n));     } } int main() {     int m,n;     cin>>m>>n;     cout<<gcd(m,n);     return 0; }

Bubble Sort Algorithm

//bubble sort algorithm in c++ #include<bits/stdc++.h> using namespace std; void bubble_sort(int arr[],int n) {     int i,j;     for(i=1;i<n;i++)     {         for(j=0;j<n-i;j++)         {             if(arr[j]>arr[j+1])             {                 swap(arr[j],arr[j+1]); //swap is an inbuilt function             }         }     }     //time complexity is O(n^2) } int main() {     int n,i;     cout<<"Enter the number of elements of the array"<<endl;     cin>>n;     int arr[n];     for(i=0;i<n;i++)     { ...

Counting the paths between two nodes

#include<bits/stdc++.h> using namespace std; class graph {     int v;     list<int> *adj; public:     graph(int v)     {         this->v=v;         adj=new list<int>[v];     }     void add_edge(int v,int w)     {         adj[v].push_back(w);     }     void count(int start,int end,bool visited[],int& path);     int  cou(int start,int end); }; int graph:: cou(int start,int end) {     bool *visited=new bool[v];     for(int i=0;i<v;i++)         visited[i]=false;     int path=0;     count(start,end,visited,path);     return path; } void graph::count(int start,int end,bool visited[],int& path) {     vi...