Saturday, 19 December 2015

First Served (FCFS) Scheduling Algorithm(Operating System)

Source Code :


#include<stdio.h>
typedef struct{
int ar,bt,wt,tt,rt,_no;

}info;
info p[10];
int main()
{

    int n,i,j;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d",&p[i].ar,&p[i].bt);
        p[i]._no=i;
    }
    for(i=1;i<n;i++)//sorting
    {
        for(j=i+1;j<=n;j++)
        {
            if(p[j].ar<p[i].ar)
            {
                info temp=p[j];
                p[j]=p[i];
                p[i]=temp;
            }
        }
    }
    int  time=0;
    for(i=1;i<=n;i++)
    {
        p[i].wt=p[i].rt=time-p[i].ar;
        p[i].tt=p[i].wt + p[i].bt;
        time=time+p[i].bt;
        printf("Process: %d Ar: %d br:%d  TT: %d wt:%d RT: %d\n",p[i]._no,p[i].ar,p[i].bt,p[i].tt,p[i].wt,p[i].rt);
    }
    printf("\n");


}

Shortest Job First (SJF) Scheduling Algorithm(Operating System)


Source Code : By Java


//main_file.java


import javax.swing.JFrame;


public class main_file {
public static void main(String args[])
{
shortest_job_first f = new shortest_job_first();
f.setVisible(true);
f.setBounds(100, 50, 700, 550);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

//shortest_job_first.java


import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.StringTokenizer;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class shortest_job_first extends JFrame {
 
JPanel p1,p2,p3,p11,p12,p13,p14,p15,p16,p17;
JButton b1,b2;
JTextField process,Arrival_time,brust_time;
JLabel l1,l2,l3,top;
public shortest_job_first() {
p1= new JPanel();
p1.setBackground(Color.WHITE);
add(p1);

 p1.setLayout(new GridLayout(2,1));

 p2= new JPanel();
 p2.setBackground(Color.white);

 p1.add(p2);

 p3= new JPanel();
 p3.setBackground(Color.white);

 p1.add(p3);

 p2.setLayout(new GridLayout(7,1));///divide first panel into seven and then enter one text field after another
 p11= new JPanel();
 p11.setBackground(Color.white);
 p2.add(p11);

 p12= new JPanel();
 p12.setBackground(Color.white);
 p2.add(p12);
 p13= new JPanel();
 p13.setBackground(Color.white);
 p2.add(p13);
 p14= new JPanel();
 p14.setBackground(Color.white);
 p2.add(p14);
 p15= new JPanel();
 p15.setBackground(Color.white);
 p2.add(p15);
 p16= new JPanel();
 p16.setBackground(Color.white);
 p2.add(p16);
 p17= new JPanel();
 p17.setBackground(Color.white);
 p2.add(p17);


 l1= new JLabel("Process");
 l1.setPreferredSize(new Dimension(100,30));
 l1.setFont(new Font("Times new Roman", Font.PLAIN, 18));
 p13.add(l1);

 process= new JTextField();
 process.setPreferredSize(new Dimension(400,30));
 process.setFont(new Font("Times new Roman", Font.BOLD, 18));
 p13.add(process);

 l2= new JLabel("Arrival Time");
 l2.setPreferredSize(new Dimension(100,30));
 l2.setFont(new Font("Times new Roman", Font.PLAIN, 18));
 p14.add(l2);

 Arrival_time= new JTextField();
 Arrival_time.setPreferredSize(new Dimension(400,30));
 Arrival_time.setFont(new Font("Times new Roman", Font.BOLD, 18));
 p14.add(Arrival_time);

 l3= new JLabel("Brust Time");
 l3.setPreferredSize(new Dimension(100,30));
 l3.setFont(new Font("Times new Roman", Font.PLAIN, 18));
 p15.add(l3);

 brust_time= new JTextField();
 brust_time.setPreferredSize(new Dimension(400,30));
 brust_time.setFont(new Font("Times new Roman", Font.BOLD, 18));
 p15.add(brust_time);

 b1= new JButton("SJF");//Shortest job First button
 b1.setPreferredSize(new Dimension(100,30));
 b1.setBackground(Color.white);
 b1.setFont(new Font("Times new Roman", Font.BOLD, 18));



 //Action of b1(sjf button)
 b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

try{
       String s1 = process.getText();
       String s2 = Arrival_time.getText();
       String s3 = brust_time.getText();
       int pro = Integer.parseInt(s1);
       int min_data=99999;
       StringTokenizer token = new StringTokenizer(s2, ",");
       StringTokenizer token1 = new StringTokenizer(s3, ",");
       String[] proces = new String[1000];
       int arrival[] = new int[1000];
       int brust[] = new int[1000];
       boolean complete[] = new boolean[pro + 1];
       int i = 0;
       while (token.hasMoreElements()) {
           String tokenizer = token.nextToken();
           int data = Integer.parseInt(tokenizer);
           arrival[i] = data;
           i++;
       }

       i = 0;
       while (token1.hasMoreElements()) {
           String tokenizer = token1.nextToken();
           int data = Integer.parseInt(tokenizer);
           brust[i] = data;
           i++;
       }

       for (i = 0; i < pro; i++) {
           proces[i] = "p" + (i + 1);
       }
       int j;

       int temp;
       String sp;
     
       shorting(pro, brust, arrival, proces, complete);


       int total_brust_time = 0;
       for (i = 0; i < pro; i++) {
           total_brust_time += brust[i];
           if (brust[i] == 0) {
               complete[i] = true;
           }
       }
       int thistime = 0;


       String queue[] = new String[total_brust_time + 1000];
       int k = 0;
       int tag = 0;
       int m = 0;
       for (i = 0; ; i++) {
           tag = 0;

           for (j = 0; j < pro; j++) {
               if (complete[j] == true) {
                   m = 0;
               } else {
                   m = 1;
                   break;
               }

           }
           if (m == 0){
               break;
           }
           for (j = 0; j < pro; j++) {
               if (arrival[j] <= thistime && complete[j] == false) {
                   tag = 1;
                   queue[k] = proces[j];
                   k++;
                   thistime++;
                   brust[j]--;
                   if (brust[j] == 0) {
                       complete[j] = true;
                   }
                   break;
               }
           }
           if (tag == 0) {
               queue[k] = "st";
               k++;
               thistime++;
           }
         shorting(pro, brust, arrival, proces, complete);
       }
     
       //This part printing process into a panel or GANTT CHART
       Graphics g = p3.getGraphics();
     
       int x1 = 40, x2 = 30, y1 = 40, y2 = 40;
       int drawstrx1 = (x1 + 17);
       int drawstry1 = 55;
       int drawfirstx1 = x1 - 3;
       int drawfirsty1 = 85;
       g.setColor( Color.MAGENTA);
       g.drawString("GANTT CHART", 40, 10);
int x=0;
       for (i = 0; i < thistime; i++) {
           x=1;
           g.setColor(Color.black);
           g.drawRect(x1, x2, y1, y2);
           g.setColor(Color.blue);
           g.drawString("" + queue[i], drawstrx1, drawstry1);
           g.setColor(Color.black);
           g.drawString("" + i, drawfirstx1, drawfirsty1);
           x1 = x1 + y1;
           drawfirstx1 = x1 - 3;
           drawstrx1 = (x1+17);
          Thread.sleep(1000);
         
       }
      if(x==1)
       g.drawString("" + i, drawfirstx1, drawfirsty1);



}catch(Exception e){
   
}
}
// method for sorting (bubble sort)
private void shorting(int pro, int[] brust, int[] arrival,
String[] proces, boolean[] complete) {
int i, j, temp;
       String sp;
       boolean m;
       for (i = 0; i < pro - 1; i++) {
           for (j = i + 1; j < pro; j++) {
               if (brust[i] > brust[j]) {
                   temp = brust[i];
                   brust[i] = brust[j];
                   brust[j] = temp;

                   temp = arrival[i];
                   arrival[i] = arrival[j];
                   arrival[j] = temp;

                   sp = proces[i];
                   proces[i] = proces[j];
                   proces[j] = sp;

                   m = complete[i];
                   complete[i] = complete[j];
                   complete[j] = m;

               }
           }
       }
}
});
 p16.add(b1);



 b2= new JButton("RESET");//Reset button
 b2.setPreferredSize(new Dimension(100,30));
 b2.setBackground(Color.white);
 b2.setFont(new Font("Times new Roman", Font.BOLD, 18));
 //action of reset button
 b2.addActionListener( new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
try{
process.setText(null);
        Arrival_time.setText(null);
        brust_time.setText(null);
        p3.repaint();
   }catch(Exception ex){
   }

}
});


 p16.add(b2);




 top= new JLabel("Shortest Job First (SJF) Scheduling Algorithm");
 top.setForeground(Color.black);
 top.setFont(new Font("Times new Roman", Font.BOLD, 24));
 p12.add(top);


}
}







Saturday, 5 September 2015

UVA 489 - Hangman Judge(cpp file)




Problem Type :Ad hoc



#include<stdio.h>
#include<string.h>
#define MAX 200
int main()
{
    int round,i,j,k,len1,len2,error,correct;
    char ch[MAX], des[MAX];
    while(scanf("%d",&round)==1)
    {
        if(round==-1)
        {
            break;
        }
        scanf("%s",&ch);
        getchar();
        scanf("%s",&des);
        //printf("%s %s\n",ch,des);
        len1=strlen(ch);
        len2=strlen(des);
        error=0;
        correct=0;
        for(i=0; i<len2; i++)
        {
             int tag=0;
            for(j=0; j<len1; j++)
            {
                if(ch[j]==des[i])
                {
                      correct++;
                      tag=1;
                      ch[j]=1;
                }
            }
            if(tag==0)
            {
                error++;
            }
            if(error==7 || correct==len1)
            {
                break;
            }
        }
        printf("Round %d\n",round);
        if(error==7 )
        {

            printf("You lose.\n");
        }
        else if(correct==len1)
        {
            printf("You win.\n");
        }
        else{

            printf("You chickened out.\n");
        }
    }

}

Thursday, 11 June 2015

UVA 787 - Maximum Sub-sequence Product(java file)



Problem Type : MAX_1D_RANGE_SUM(DP)



import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<BigInteger> list = new ArrayList<BigInteger>();
        BigInteger el, end, pro, maxPro;
        end = new BigInteger("-999999");
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            el = sc.nextBigInteger();
            if (el.compareTo(end) != 0) {
                list.add(el);
            } else {
                maxPro = list.get(0);
                for (int i = 0; i < list.size(); i++) {
                    pro = BigInteger.ONE;
                    for (int j = i; j < list.size(); j++) {
                        pro = pro.multiply(list.get(j));
                        maxPro = maxPro.max(pro);
                    }
                }
                System.out.println(maxPro);
                list.clear();
            }
        }
    }

}

Wednesday, 3 June 2015

UVA 10684 - The jackpot(cpp file)




Problem Type : Max 1D range sum


Code :
#include<stdio.h>
#define mx 10003

int main()
{
    int test,i,j;
    while(scanf("%d",&test)==1)
    {
        long int max_arr,sum;
        max_arr = 0;
        sum = 0;
        if(test==0)
            break;
        for(i=0; i<test; i++)
        {
            scanf("%d",&j);
            sum+=j;
            if(sum>max_arr)
            {
                max_arr = sum;
            }

            if(sum<0)
            {
                sum=0;
            }

        }
        if(max_arr)
        {
            printf("The maximum winning streak is %ld.\n",max_arr);
        }
        else
        {
            printf("Losing streak.\n");
        }
    }
return 0;
}



UVA 541 - Error Correction(cpp file)




Code :

#include<stdio.h>
#define MAX 102
int main()
{

    int arr[MAX][MAX],test,i,j,tag,corr1,corr2,m,n,sum;
    while(scanf("%d",&test)&&test)
    {
        corr1 = 0;
        corr2 = 0;
        tag =0;
        for(i=1;i<=test;i++)
        {
            sum=0;
            for(j=1;j<=test;j++)
            {
                scanf("%d",&arr[i][j]);
                sum += arr[i][j];
            }
            if(sum%2==1)
            {
               corr1++;
                m=i;
            }
        }
        for(i=1;i<=test;i++)
        {
            sum=0;
            for(j=1;j<=test;j++)
            {
                sum+=arr[j][i];
            }
            if(sum%2==1)
            {
                corr2++;
                n=i;
            }
        }
     //   printf("%d %d\n",corr1,corr2);
       if(corr1==0 && corr2==0)
       {
           printf("OK\n");
       }
      else  if(corr1==1 && corr2==1)
       {
           printf("Change bit (%d,%d)\n",m,n);
       }
       else {

        printf("Corrupt\n");
       }
    }
}

Tuesday, 2 June 2015

UVA 10739 - String to Palindrome



Problem Type :DP  (Levenshtein distance Algorithm)

Code :

#include<stdio.h>
#include<algorithm>
#include<string.h>
#define mx 1070
using namespace std;
char ch[mx],des[mx];
int arr[mx][mx],cou,len;

void init()
{
    for(int i=0; i<len; i++)
    {
        arr[i][0]=i;
    }
    for(int i=0; i<len; i++)
    {
        arr[0][i]=i;
    }
    return;
}
void lav()
{
    int i,j;
    for(i=1; i<len; i++)
    {
        for(j=1; j<len; j++)
        {
            if(ch[j]==des[i])
            {
                arr[i][j]= arr[i-1][j-1];
            }
            else
            {
            int    p = min(arr[i-1][j],arr[i][j-1]);
                arr[i][j]=min(p,arr[i-1][j-1]);
                arr[i][j]++;
            }
        }
    }
}
int main()
{
    int i,j,test;
    scanf("%d",&test);
    getchar();
    int cas = 0;
    while(test--)
    {
        cas++;
        scanf("%s",ch);
        len = strlen(ch);
        for(i=len; i>=1; i--)
        {
            ch[i]=ch[i-1];
        }
        len++;
        ch[len]='\0';
        des[0]='k';
        j=1;
        for(i=len-1; i>=1; i--)
        {
            des[j]=ch[i];
            j++;
        }
        des[len]='\0';
        cou=0;
        init();
        lav();
        printf("Case %d: %d\n",cas,arr[len-1][len-1]/2);
        memset(arr,0,sizeof arr);
    }
    return 0;
}

Monday, 1 June 2015

UVA 11151 - Longest Palindrome(cpp file)



Algorithm : Edit distance(DP)


#include<stdio.h>
#include<algorithm>
#include<string.h>
#define mx 1070
using namespace std;
char ch[mx],des[mx];
int arr[mx][mx],cou,len;

void init()
{
    for(int i=0; i<len; i++)
    {
        arr[i][0]=i;
    }
    for(int i=0; i<len; i++)
    {
        arr[0][i]=i;
    }
    return;
}
void edit()
{
    int i,j;
    for(i=1; i<len; i++)
    {
        for(j=1; j<len; j++)
        {
            if(ch[j]==des[i])
            {
                arr[i][j]= arr[i-1][j-1];
            }
            else
            {
              arr[i][j] = min(arr[i-1][j],arr[i][j-1]);

                arr[i][j]++;
            }
        }
    }
}
void printlav(int i, int j)
{
    if(i==0 || j==0)
    {
        return;
    }
    else if(ch[j] == des[i])
    {
        cou++;
        printlav(i-1,j-1);
    }
    else
    {
        if(arr[i-1][j]<arr[i][j-1])
        {
            printlav(i-1,j);
        }
        else
        {
             printlav(i,j-1);
        }

    }
}
int main()
{
    int i,j,test;
    scanf("%d",&test);
    getchar();
    while(test--)
    {
        gets(ch);
        if(strlen(ch)==0)
        {
            printf("0\n");
            continue;
        }
        len = strlen(ch);
        for(i=len; i>=1; i--)
        {
            ch[i]=ch[i-1];
        }
        len++;
        ch[len]='\0';
        des[0]='k';
        j=1;
        for(i=len-1; i>=1; i--)
        {
            des[j]=ch[i];
            j++;
        }
        des[len]='\0';
        cou=0;
        init();
        edit();
        printlav(len-1,len-1);

         printf("%d\n",cou);
        memset(arr,0,sizeof arr);
    }
    return 0;
}

Sunday, 10 May 2015

UVA 1112 - Mice and Maze(cpp file)

Problem Type :Dijkstra


#include<stdio.h>
#include<string.h>
#include<queue>
#include<vector>
#define MAX 101
#define  INF 52312424
using namespace std;
int vertex,edge,source,ext,dist[MAX],cost[MAX][MAX];
vector<int>mat[MAX];
struct node
{
    int x,c;
    node(int d, int f)
    {
        x=d;
        c=f;
    }
    bool operator<(const node &p)const
    {
        return c>p.c;
    }
};
void djkstra(int s)
{
    int ux,i,j,vx;
    priority_queue<node>Q;
    dist[s]=0;
    Q.push(node(s,dist[s]));
    while(!Q.empty())
    {
        node top = Q.top();
        int ux = top.x;
        Q.pop();
        for(i=0; i<mat[ux].size(); i++)
        {
            vx= mat[ux][i];
            if(dist[vx]>dist[ux]+cost[ux][vx])
            {
                dist[vx]=dist[ux]+cost[ux][vx];
                Q.push(node(vx,dist[vx]));
            }
        }
    }

}
int main()
{
    int test,i,j,cas=0,m,n,c;
    scanf("%d",&test);
    while(test--)
    {
        scanf("%d %d %d %d",&vertex,&ext,&source,&edge);
        for(i=1; i<=edge; i++)
        {
            scanf("%d %d %d",&n,&m,&c);
            mat[m].push_back(n);
            cost[m][n]=c;
        }
        for(i=1; i<=vertex; i++)
        {
            dist[i]=INF;
        }
        djkstra(ext);
        int cou=0;
        for(i=1; i<=vertex; i++)
        {
            if(dist[i]<=source)
                cou++;
        }
        printf("%d\n",cou);
        if (test)
        {
            puts("");
        }
        for(i=0; i<=MAX; i++)
        {
            mat[i].clear();
        }
        memset(cost,0,sizeof cost);
    }

}

UVA 10986 - Sending email(cpp file)

Problem Type : Dijkstra



#include<bits/stdc++.h>
#define MAX 20001
#define INF 100000
using namespace std;
long int vertex,edge,source,des;
long int dist[MAX];
vector<long int>vcc[MAX],cost[MAX];
struct node
{
    long int x,c;
    node(long int d,long int f)
    {
        x=d;
        c=f;
    }
    bool operator<(const node &p)const
    {
        return c>p.c;
    }
};

void djkstra(long int s)
{
    priority_queue<node>Q;
    long  int ux,uy,vx,vy,i,j;
    dist[s]=0;
    Q.push(node(s,dist[s]));
    while(!Q.empty())
    {
        node top = Q.top();
        Q.pop();
        ux = top.x;
        for(i=0; i<vcc[ux].size(); i++)
        {
            long vx= vcc[ux][i];
            if(dist[vx]> dist[ux]+cost[ux][i])
            {
                dist[vx]=dist[ux]+cost[ux][i];
                Q.push(node(vx,dist[vx]));
            }

        }
    }
}
int main()
{
    long  int i,j,test,n,m,c,cas=0;
    scanf("%ld",&test);
    while(test--)
    {
        cas++;
        scanf("%ld %ld %ld %ld",&vertex,&edge,&source,&des);

        for(i=0; i<edge; i++)
        {
            scanf("%ld %ld %ld",&n,&m,&c);
            vcc[n].push_back(m);
            vcc[m].push_back(n);
            cost[m].push_back(c);
            cost[n].push_back(c);

        }
        for(i=0; i<vertex; i++)
        {
            dist[i]=INF;
        }
        djkstra(source);
        if(dist[des]==INF)
        {
            printf("Case #%ld: unreachable\n",cas);
        }
        else
        {
            printf("Case #%ld: %ld\n",cas,dist[des]);
        }
        for(i=0; i<MAX; i++)
        {
            vcc[i].clear();
        }
         for(i=0; i<MAX; i++)
        {
            cost[i].clear();
        }
    }

}

Thursday, 7 May 2015

UVA 1207 - AGTC(cpp file)

Problem Type : DP (Levenshtein Distance)


#include<stdio.h>
#include<algorithm>
#include<string.h>
#define MAX 1502
using namespace std;
int arr[MAX][MAX],len1,len2;
void labistine(char s[],char des[],int len1,int len2)
{
    int i,j;
    for(i=1;i<len1;i++)
    {
        for(j=1;j<len2;j++)
        {
           if(s[i]==des[j])
           {
               arr[i][j]=arr[i-1][j-1];
           }
           else if(s[i]!=des[j])
           {
              int p=min(arr[i-1][j]+1,arr[i][j-1]+1);
              arr[i][j]=min(arr[i-1][j-1]+1,p);
           }
        }
    }
}
void init()
{
    int i,j;

        for(j=0;j<len2;j++)
        {
            arr[0][j]=j;
        }
        for(i=0;i<len1;i++)
        {
            arr[i][0]=i;
        }

}
int main()
{
    int i,j;
    char source[MAX],des[MAX];
    while(scanf("%d ",&len1)==1)
    {
        source[0]='a';
        for(i=1; i<=len1; i++)
        {
            scanf("%c",&source[i]);
        }
        len1+=1;
        source[len1]='\0';
        des[0]='a';
        scanf("%d ",&len2);
        for(i=1; i<=len2; i++)
        {
            scanf("%c",&des[i]);
        }
        len2+=1;
        des[len2]='\0';
        init();
        labistine(source,des,len1,len2);
        printf("%d\n",arr[len1-1][len2-1]);
        memset(arr,0,sizeof(arr));
    }
}

Sunday, 3 May 2015

UVA 11349 - Symmetric Matrix



Problem Type : Matrix


#include<stdio.h>
#include<string.h>
#define MAX 105
long long int mat [MAX][MAX];
int main()
{
    char c;
  long  int n,i,j,tag,cas=0,test;
    scanf("%d",&test);

    while(test--)
    {
        getchar();
        scanf("N = %d",&n);
        cas++;
        tag=0;
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
            {
                scanf("%lld",&mat[i][j]);
                if(mat[i][j]<0)
                {
                    tag=1;
                }
            }
        }
          int x,k;
        if(tag==0)
        {
            if(n%2==1)
            {
                 k=0;
                for(i=1; i<=n/2+1; i++)
                {
                    x=0;
                    for(j=1; j<=n; j++)
                    {
                        if(mat[j][i]==mat[n-x][n-k])
                        {
                            x++;
                            continue ;
                        }
                        else if(mat[j][i]!=mat[n-x][n-k])
                        {
                            x++;
                            tag=1;
                        }

                    }
                    k++;
                    if(tag==1)
                        break;
                }
            }
            else
            {
                int k=0;
                for(i=1; i<=n/2; i++)
                {
                  int  m=0;
                    for(j=1; j<=n; j++)
                    {

                        if(mat[j][i]==mat[n-m][n-k])
                        {
                                m++;
                            continue ;
                        }
                        else{

                            tag=1;
                        }

                    }
                    k++;
                    if(tag==1)
                        break;
                }
            }
        }
       if(tag==0)
       {
           printf("Test #%d: Symmetric.\n",cas);
       }
       else
       {
           printf("Test #%d: Non-symmetric.\n",cas);
       }

       memset(mat,0,sizeof(mat));
    }
}

Saturday, 2 May 2015

UVA 12802 - Gift From the Gods(cpp file)

Problem Type : Ad hoc


#include<stdio.h>
#include<string.h>
struct p
{
    int n;
};
p arr[200];
int main()
{
    int test,i,j,x,cas=0,coun,k,len;
    char ch[111];
    while(scanf("%d",&test)==1)
    {
        getchar();
        cas++;
        coun=0;
        for(i=1; i<=test; i++)
        {
            scanf("%s",&ch);
            len= strlen(ch);
            int cou=0;
            for(j=97; j<=122; j++)
            {
                arr[j].n=0;
            }
            for(j=0; j<len-1; j++)
            {
                if(ch[j]==ch[j+1])
                {
                    cou=1;
                }
                else
                {
                    cou=0;
                    break;
                }
            }
            if(len==1)
            {
                cou=1;
            }
            for(j=0; j<len; j++)
            {
                x=ch[j];
                arr[x].n++;

            }
            if(len>1 && cou==0)
            {
                for(j=97; j<122; j++)
                {
                    for(k=j+1; k<=122; k++)
                    {
                        if(arr[j].n!=0 || arr[j].n!=0)
                        {
                            if(arr[j].n==arr[k].n)
                            {
                                cou=1;
                                break;
                            }
                        }
                    }
                    if(cou==1)
                    {
                        break;
                    }
                }
            }
            if(cou==0)
            {
                coun++;
            }

        }
        printf("Case %d: %d\n",cas,coun);
    }
}

UVA 12820 - Cool Word(cpp file)

Problem Type : String


#include<stdio.h>
#include<string.h>
struct p
{
    int n;
};
p arr[200];
int main()
{
    int test,i,j,x,cas=0,coun,k,len;
    char ch[111];
    while(scanf("%d",&test)==1)
    {
        getchar();
        cas++;
        coun=0;
        for(i=1; i<=test; i++)
        {
            scanf("%s",&ch);
            len= strlen(ch);
            int cou=0;
            for(j=97; j<=122; j++)
            {
                arr[j].n=0;
            }
            for(j=0; j<len-1; j++)
            {
                if(ch[j]==ch[j+1])
                {
                    cou=1;
                }
                else
                {
                    cou=0;
                    break;
                }
            }
            if(len==1)
            {
                cou=1;
            }
            for(j=0; j<len; j++)
            {
                x=ch[j];
                arr[x].n++;

            }
            if(len>1 && cou==0)
            {
                for(j=97; j<122; j++)
                {
                    for(k=j+1; k<=122; k++)
                    {
                        if(arr[j].n!=0 || arr[j].n!=0)
                        {
                            if(arr[j].n==arr[k].n)
                            {
                                cou=1;
                                break;
                            }
                        }
                    }
                    if(cou==1)
                    {
                        break;
                    }
                }
            }
            if(cou==0)
            {
                coun++;
            }

        }
        printf("Case %d: %d\n",cas,coun);
    }
}

UVA 10420 - List of Conquests(cpp file)

 Problem Type : Ad hoc


#include<iostream>
#include<string>
#include<string.h>
#include<cstdio>
#include<algorithm>
using namespace std;
struct mymap
{
    string p;
    int m;
};
mymap arr[2001];
bool comp(mymap n ,mymap x)
{
    return(n.p < x.p);
}
int main()
{
    int n,i,j,k,y,cou;
    string s1;
    char s[79],des[76];
    scanf("%d",&n);
    getchar();
    y=0;
    for(j=0; j<n; j++)
    {
        gets(s);
        k=0;
        for(i=0; i<strlen(s); i++)
        {

            if((s[i]>='A' && s[i]<='Z')&&!(s[i+1]>=65 && s[i+1]<=90)&&!(s[i+1]>=97 && s[i+1]<=122))
            {
                des[k]=s[i];
                k++;
                break;
            }
            else if ((s[i]>=97 &&s[i]<=122)&&!(s[i+1]>=97 && s[i+1]<=122)&&!(s[i+1]>=65 && s[i+1]<=90))
            {
                des[k]=s[i];
                k++;
                break;
            }
            else if(s[i]>=65 && s[i]<=90  || s[i]>=97 && s[i]<=122)
            {
                des[k]=s[i];
                k++;
            }
        }
        des[k]='\0';
        s1=(string)(des);
        cou=0;
        for(i=0; i<j; i++)
        {
            if(arr[i].p.compare(s1)==0)
            {
                cou=1;
                arr[i].m++;
            }
        }
        if(cou==0)
        {
            arr[y].p=s1;
            arr[y].m=1;
            cou=0;
            y++;
        }
    }
    sort(arr,arr+y,comp);
    for(i=0; i<y; i++)
    {
        cout << arr[i].p<<' '<<arr[i].m <<endl;
    }
    y=0;
    for(i=0; i<y; i++)
    {
        arr[i].m=0;
    }
    for(i=0; i<y; i++)
    {
        arr[i].p= '\0';
    }

}

Friday, 1 May 2015

UVA 11624 - Fire!(cpp file)


Problem Type : BFS(Harder)

#include<stdio.h>
#include<string.h>
#include<queue>
#define MAX 1003
using namespace std;
int X[]= {0,0,1,-1};
int Y[]= {1,-1,0,0};
int node,edge ,ux,uy,vx,vy;
char mat[MAX][MAX];
queue<int>fire,joy;
bool broke,cross;
bool boundary()
{
    if(vx>=0  && vx<node && vy>=0 && vy<edge)
        return true;
    else
        return false;
}
void bfsf()
{
    int num = fire.size();
    int i;
    num/=2;
    if(num==0)
    {
        return;
    }
    while(num--)
    {
        ux = fire.front();
        fire.pop();
        uy =  fire.front();
        fire.pop();
        for(i=0; i<4; i++)
        {
            vx=ux+X[i];
            vy=uy+Y[i];
            if(boundary()&& mat[vx][vy]=='.')
            {
                mat[vx][vy]='F';
                fire.push(vx);
                fire.push(vy);
            }
        }
    }
}
void bfsj()
{
    int num = joy.size();
    int i;
    num/=2;
    if(num==0)
    {
        broke = false;
        return;
    }
    while(num--)
    {
        ux = joy.front();
        joy.pop();
        uy = joy.front();
        joy.pop();
        for(i=0;i<4;i++)
        {
            vx= ux+X[i];
            vy= uy +Y[i];
            if(!boundary())
            {
               cross = false ;
               return;
            }
            if(boundary()&& mat[vx][vy]=='.')
            {
                mat[vx][vy]='J';
                joy.push(vx);
                joy.push(vy);
            }
        }
    }
}
int main()
{
    int test,i,j,k;
    scanf("%d",&test);
    while(test--)
    {
        scanf("%d %d",&node,&edge);
        getchar();
        while(!fire.empty())
        {
            fire.pop();
        }
        while(!joy.empty())
        {
            joy.pop();
        }
        for(i=0; i<node; i++)
        {
            for(j=0; j<edge; j++)
            {
                scanf(" %c",&mat[i][j]);
                if(mat[i][j]=='F')
                {
                    fire.push(i);
                    fire.push(j);
                }
                else if(mat[i][j]=='J')
                {
                    joy.push(i);
                    joy.push(j);
                }
            }
        }
        int cou =0;
        cross = true;
        broke = true;
        while(true)
        {
            cou++;
            bfsf();
            bfsj();
            if(broke == false|| cross== false)
            {
                break;
            }
        }
        if(broke == false)
        {
            printf("IMPOSSIBLE\n");
        }
        else if(cross == false)
        {
            printf("%d\n",cou);
        }
    }
}

Thursday, 30 April 2015

UVA 10954 - Add All(cpp file)

Problem Type : Priority_queue


#include<iostream>
#include<cstdio>
#include<queue>
#define MAX 1000
using namespace std;
priority_queue<int,vector<int>,greater<int> > Q;
int main()
{
    int test,i,arr[MAX],num,m,n,sum,c;
    while(scanf("%d",&test)&&test)
    {
        while(!Q.empty())
       {
           Q.pop();
       }
       for(i=0;i<test;i++)
       {
           scanf("%d",&num);
           Q.push(num);
       }

       sum=0;
       while(!Q.empty())
       {
           m=Q.top();
           Q.pop();
           n= Q.top();
           Q.pop();

           c=m+n;
           sum+=c;
           Q.push(c);
           if(Q.size()==1)
           {
               break;
           }

       }
       printf("%d\n",sum);
    }
}

UVA 12503 - Robot Instructions(cpp file)

Problem Type : Ad hoc



#include<stdio.h>
#include<string>
#include<iostream>
#include<math.h>
#define MAX 101
using namespace std;
int ans=0;
string s[MAX];
void check(string m)
{
    int len,i,j=0;
    if(m=="RIGHT")
    {
        ans+=1;
    }
    else if(m=="LEFT")
    {
        ans-= 1;
    }
    else
    {
        len=m.length();
        int k=0;
        for(i=len-1; i>=0; i--)
        {

            if(m[i]==' ')
            {
                break;
            }
            else
            {
                j+=(m[i]-48)*pow(10,k);
            }

            k++;
        }
      check(s[j-1]);
    }

}
int main()
{
    int test,n,i,j,len;
    scanf("%d",&test);
    char ch[MAX];
    while(test--)
    {
        for(i=0;i<101;i++)
        {
               s[i].clear();
        }
        scanf("%d",&n);
        getchar();
        ans=0;
        for(i=0; i<n; i++)
        {
           getline(cin,s[i]);
            j=0;
            check(s[i]);

        }
        printf("%d\n",ans);

    }

}

UVA 929 - Number Maze(cpp file)

Problem Type : Dijkstra



#include<bits/stdc++.h>
#define MAX 1000
#define INF 1000000
using namespace std;

struct node
{
    int x,y,c;

    node(int d,int e,int f)
    {
        x=d;
        y=e;
        c=f;
    }
    bool operator<(const node &p)const
    {
        return c>p.c;
    }
};
int vertex,edge;
int mat[MAX][MAX],dist[MAX][MAX];
int X[4]= {1,-1,0,0};
int Y[4]= {0,0,-1,1};
priority_queue<node>Q;
void djkstra()
{
    while(!Q.empty())
    {
        Q.pop();
    }
    int ux,uy,vx,vy,i,j;

    for(i=1; i<=vertex; i++)
    {
        for(j=1; j<=edge; j++)
        {
            dist[i][j]=INF;
        }
    }
    Q.push(node(1,1,mat[1][1]));
    dist[1][1]=mat[1][1];
    while(!Q.empty())
    {
        node top = Q.top();
        Q.pop();
        ux = top.x;
        uy = top.y;

        for(i=0; i<4; i++)
        {
            vx= ux+X[i];
            vy= uy+Y[i];
            if(vx>=1 && vx<=vertex && vy>=1 && vy<=edge)
            {
                if(dist[vx][vy]>dist[ux][uy]+mat[vx][vy])
                {
                    dist[vx][vy]=dist[ux][uy]+ mat[vx][vy];
                    Q.push(node(vx,vy,dist[vx][vy]));
                }
            }

        }

    }
}
int main()
{
    int i,j,test;
    scanf("%d",&test);
    while(test--)
    {
        scanf("%d %d",&vertex,&edge);
        for(i=1; i<=vertex; i++)
        {
            for(j=1; j<=edge; j++)
            {
                scanf("%d",&mat[i][j]);
            }
        }
        djkstra();
        printf("%d\n",dist[vertex][edge]);
    }

}

Wednesday, 29 April 2015

UVA 12015 - Google is Feeling Lucky

Problem Type : Ad hoc


#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#define MAX 1000
using namespace std;
struct node
{
    string s;
    int value;
};
node arr[MAX];
bool comp(node x,node y)
{
    return x.value > y.value;
}
int main()
{
    int test,i,j,m,pick,cou=0;
    string s1;
    scanf("%d",&test);
    getchar();
    while(test--)
    {
        cou++;
        for(i=0; i<10; i++)
        {
            cin >> s1 >> m;
            arr[i].s=s1;
            arr[i].value=m;
        }
        sort(arr,arr+10,comp);
        pick= arr[0].value;
        printf("Case #%d:\n",cou);
        for(i=0; i<10; i++)
        {
            if(pick==arr[i].value)
            {
                cout << arr[i].s <<endl;
            }
        }
    }
return 0;
}

UVA 621 - Secret Research( c file)

Problem Type : Ad hoc


#include<stdio.h>
#include<string.h>
#define MAX 1000
char arr[MAX];
int main()
{
    int test,i,j,len;
    scanf("%d",&test);
    getchar();
    while(test--)
    {
        scanf("%s",&arr);
        len = strlen(arr);
        if(arr[len-1]=='5' && arr[len-2]=='3')
        {
            printf("-\n");
        }
        else if(arr[0]=='1' && arr[1]=='9' && arr[2]=='0')
        {
            printf("?\n");
        }
        else if(arr[0]=='9' && arr[len-1]=='4')
        {
            printf("*\n");
        }
        else if(arr[0]=='1' && len==1|| arr[0]=='4' && len==1 || arr[0]=='7'&& arr[1]=='8' && len==2)
        {
            printf("+\n");
        }
    }
}

Sunday, 26 April 2015

UVA 119 - Greedy Gift Givers(Cpp file)

Problem Type : Ad hoc

#include<stdio.h>
#include<map>
#include<string>
#include<iostream>
#include<cstring>
#define MAX 1000
using namespace std;
map<string,long int>mymap;
int main()
{
    string s ,s2,s1[MAX];
    int i,j,k,n,test,arr[MAX],money,in,sum,pai,x,cou=0;
    while(scanf("%d",&test)==1)
    {
        getchar();
        mymap.clear();
        for(i=0;i<test;i++)
        {
            cin>> s;
            s1[i]=s;
            mymap[s]=i;
            arr[i]=0;

        }
        for(i=0;i<test;i++)
        {
            cin >> s >> money >> n;
            if(n==0)
                continue;
            x = mymap[s];
            arr[x]-=money;
            in = money/n;
            pai = in*n;
            sum = money-pai;
            arr[x]+=sum;
            for(j=0;j<n;j++)
            {
                cin >> s2;
                x = mymap[s2];
                arr[x]+=in;
            }
        }
        if(cou!=0)
        {
            printf("\n");

        }
        cou++;
        for(i=0;i<test;i++)
        {
            x=mymap[s1[i]];
            cout << s1[i] << ' ' <<arr[x] <<endl;

        }


    }

}

TicTacToe(কাটাকাটি) Java Game

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;

/**
 *
 * @author Tarequzzaman Khan
 */
public class tictactoi extends JFrame {

    int mat[][] = new int[4][4];
    int count = 0, sum = 0;
    int press1 = 0, press2 = 0, press3 = 0, press4 = 0, press5 = 0, press6 = 0, press7 = 0, press8 = 0, press9 = 0;

    JPanel p1, p2, p3;
    JButton button1, button2, button3, button4, button5, button6, button7, button8, button9;
    JTextArea area;
    JButton reset, cradit;

    public tictactoi() {
        super("Tic Tac Toe");
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 3; j++) {
                mat[i][j] = 0;
            }
        }
        p1 = new JPanel();
        p1.setLayout(new GridLayout(3, 3));
        p1.setSize(100, 100);
        button1 = new JButton();
        button1.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button1);
        button2 = new JButton();
        button2.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button2);
        button3 = new JButton();
        button3.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button3);
        button4 = new JButton();
        button4.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button4);
        button5 = new JButton();
        button5.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button5);
        button6 = new JButton();
        button6.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button6);
        button7 = new JButton();
        button7.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button7);
        button8 = new JButton();
        button8.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button8);
        button9 = new JButton();
        button9.setFont(new Font("Times New Roman", Font.BOLD, 26));
        p1.add(button9);

        add(p1, BorderLayout.CENTER);
        p2 = new JPanel();
        ;
        area = new JTextArea(3, 25);
        area.setFont(new Font("Times New Roman", Font.BOLD, 12));
        area.setEditable(false);
        p2.add(area);
        p3 = new JPanel();
        reset = new JButton("RESET");
        cradit = new JButton("CRADIT");
        p3.add(cradit);
        p3.add(reset);
        add(p3, BorderLayout.SOUTH);
        add(p2, BorderLayout.NORTH);
        button1.setBackground(new Color(240, 240, 240));
        button2.setBackground(new Color(240, 240, 240));
        button3.setBackground(new Color(240, 240, 240));
        button4.setBackground(new Color(240, 240, 240));
        button5.setBackground(new Color(240, 240, 240));
        button6.setBackground(new Color(240, 240, 240));
        button7.setBackground(new Color(240, 240, 240));
        button8.setBackground(new Color(240, 240, 240));
        button9.setBackground(new Color(240, 240, 240));
        button1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent ae) {
                try {
                    area.setEditable(false);
                    if (press1 == 0 && count % 2 == 0) {
                        count++;
                        press1 = 1;
                        button1.setText("X");
                        mat[1][1] = 1;
                        button1.setBackground(Color.PINK);
                    } else if (press1 == 0 && count % 2 == 1) {
                        count++;
                        press1 = 1;
                        button1.setText("0");
                        mat[1][1] = 2;
                        button1.setBackground(Color.yellow);
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }
            }
        });
        button2.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent ae) {
                try {
                    area.setEditable(false);
                    if (press2 == 0 && count % 2 == 0) {
                        count++;
                        press2 = 1;
                        button2.setText("X");
                        mat[1][2] = 1;
                        button2.setBackground(Color.PINK);
                    } else if (press2 == 0 && count % 2 == 1) {
                        count++;
                        press2 = 1;
                        button2.setText("0");
                        mat[1][2] = 2;
                        button2.setBackground(Color.yellow);
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    area.setEditable(false);
                    if (press3 == 0 && count % 2 == 0) {
                        count++;
                        press3 = 1;
                        button3.setText("X");
                        mat[1][3] = 1;
                        button3.setBackground(Color.PINK);
                    } else if (press3 == 0 && count % 2 == 1) {
                        count++;
                        press3 = 1;
                        button3.setText("0");
                        mat[1][3] = 2;
                        button3.setBackground(Color.yellow);
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    if (press4 == 0 && count % 2 == 0) {
                        press4 = 1;
                        count++;
                        button4.setText("X");
                        button4.setBackground(Color.PINK);
                        mat[2][1] = 1;
                    } else if (press4 == 0 && count % 2 == 1) {
                        press4 = 1;
                        count++;
                        button4.setText("0");
                        button4.setBackground(Color.YELLOW);
                        mat[2][1] = 2;
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    if (press5 == 0 && count % 2 == 0) {
                        press5 = 1;
                        count++;
                        button5.setText("X");
                        button5.setBackground(Color.PINK);
                        mat[2][2] = 1;
                    } else if (press5 == 0 && count % 2 == 1) {
                        press5 = 1;
                        count++;
                        button5.setText("0");
                        button5.setBackground(Color.YELLOW);
                        mat[2][2] = 2;
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button6.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    if (press6 == 0 && count % 2 == 0) {
                        press6 = 1;
                        count++;
                        button6.setText("X");
                        button6.setBackground(Color.PINK);
                        mat[2][3] = 1;
                    } else if (press6 == 0 && count % 2 == 1) {
                        press6 = 1;
                        count++;
                        button6.setText("0");
                        button6.setBackground(Color.YELLOW);
                        mat[2][3] = 2;
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button7.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    if (press7 == 0 && count % 2 == 0) {
                        press7 = 1;
                        count++;
                        button7.setText("X");
                        button7.setBackground(Color.PINK);
                        mat[3][1] = 1;
                    } else if (press7 == 0 && count % 2 == 1) {
                        press7 = 1;
                        count++;
                        button7.setText("0");
                        button7.setBackground(Color.YELLOW);
                        mat[3][1] = 2;
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button8.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    if (press8 == 0 && count % 2 == 0) {
                        press8 = 1;
                        count++;
                        button8.setText("X");
                        button8.setBackground(Color.PINK);
                        mat[3][2] = 1;
                    } else if (press8 == 0 && count % 2 == 1) {
                        press8 = 1;
                        count++;
                        button8.setText("0");
                        button8.setBackground(Color.YELLOW);
                        mat[3][2] = 2;
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        button9.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    if (press9 == 0 && count % 2 == 0) {
                        press9 = 1;
                        count++;
                        button9.setText("X");
                        button9.setBackground(Color.PINK);
                        mat[3][3] = 1;
                    } else if (press9 == 0 && count % 2 == 1) {
                        press9 = 1;
                        count++;
                        button9.setText("0");
                        button9.setBackground(Color.YELLOW);
                        mat[3][3] = 2;
                    }
                    sum = check(mat);
                    if (sum == 1) {
                        area.setText("Frist parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (sum == 2) {
                        area.setText("Second parson win");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    } else if (count == 9) {
                        area.setText("Draw");
                        area.append("\nPlease Press reset Button to Play Another Match");
                        press1 = press2 = press3 = press4 = press5 = press6 = press7 = press8 = press9 = 1;
                    }
                } catch (Exception e) {

                }

            }
        });
        reset.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    area.setEditable(false);
                    sum = 0;
                    count = 0;
                    press1 = 0;
                    press2 = 0;
                    press3 = 0;
                    press4 = 0;
                    press5 = 0;
                    press6 = 0;
                    press7 = 0;
                    press8 = 0;
                    press9 = 0;
                    area.setText("");
                    button1.setText("");
                    button2.setText("");
                    button3.setText("");
                    button4.setText("");
                    button5.setText("");
                    button6.setText("");
                    button7.setText("");
                    button8.setText("");
                    button9.setText("");
                    button1.setBackground(new Color(240, 240, 240));
                    button2.setBackground(new Color(240, 240, 240));
                    button3.setBackground(new Color(240, 240, 240));
                    button4.setBackground(new Color(240, 240, 240));
                    button5.setBackground(new Color(240, 240, 240));
                    button6.setBackground(new Color(240, 240, 240));
                    button7.setBackground(new Color(240, 240, 240));
                    button8.setBackground(new Color(240, 240, 240));
                    button9.setBackground(new Color(240, 240, 240));
                    for (int i = 1; i <= 3; i++) {
                        for (int j = 1; j <= 3; j++) {
                            mat[i][j] = 0;
                        }
                    }
                } catch (Exception e) {

                }
            }
        });
        cradit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                try {
                    area.setText("Tarequzzaman khan\nSylhet Engineering College");
                } catch (Exception e) {

                }
            }
        });
    }

    int check(int max[][]) {

        if (max[1][1] == 1 && max[1][2] == 1 && max[1][3] == 1) {
            return 1;
        } else if (max[1][3] == 1 && max[2][3] == 1 && max[3][3] == 1) {
            return 1;
        } else if (max[1][1] == 1 && max[2][1] == 1 && max[3][1] == 1) {
            return 1;
        } else if (max[3][1] == 1 && max[3][2] == 1 && max[3][3] == 1) {
            return 1;
        } else if (max[2][1] == 1 && max[2][2] == 1 && max[2][3] == 1) {
            return 1;
        } else if (max[1][1] == 1 && max[2][2] == 1 && max[3][3] == 1) {
            return 1;
        } else if (max[1][3] == 1 && max[2][2] == 1 && max[3][1] == 1) {
            return 1;
        } else if (max[1][2] == 1 && max[2][2] == 1 && max[3][2] == 1) {
            return 1;
        } else if (max[1][1] == 2 && max[1][2] == 2 && max[1][3] == 2) {
            return 2;
        } else if (max[1][3] == 2 && max[2][3] == 2 && max[3][3] == 2) {
            return 2;
        } else if (max[1][1] == 2 && max[2][1] == 2 && max[3][1] == 2) {
            return 2;
        } else if (max[3][1] == 2 && max[3][2] == 2 && max[3][3] == 2) {
            return 2;
        } else if (max[2][1] == 2 && max[2][2] == 2 && max[2][3] == 2) {
            return 2;
        } else if (max[1][1] == 2 && max[2][2] == 2 && max[3][3] == 2) {
            return 2;
        } else if (max[1][3] == 2 && max[2][2] == 2 && max[3][1] == 2) {
            return 2;
        } else if (max[1][2] == 2 && max[2][2] == 2 && max[3][2] == 2) {
            return 2;
        }

        return 3;
    }

    public static void main(String args[]) {

        tictactoi box = new tictactoi();
        box.setDefaultCloseOperation(box.EXIT_ON_CLOSE);
        box.setResizable(false);
        box.setSize(265, 265);
        box.setVisible(true);
    }

}

ট্রিগার এর মাধ্যমে ডাটা ইনসার্ট - insert data using Database Trigger (Mysql)

সর্বপ্রথম আমরা প্রবলেমটা বুঝিঃ আমি একটা টেবিলের একটা কলামের ভ্যালুর উপর ডিপেন্ড করে আরেকটা কলামে ডাটা insert করব । এই কাজটা ট্রি...