Dev skill DCP-479: New online judge Solution


Problem Link
Dev skill DCP-479: New online judge Solution
#include<bits/stdc++.h>
using namespace std;
struct student
{
    char name[15];
    int h,a[12];
};
int su(int a[],int h)
{
    int sum=0;
    for(int i=0; i<h; i++)
    {
        if(a[i]==1 || a[i]==2)
            sum=sum+1;
        else if(a[i]==3 || a[i]==4)
            sum=sum+3;
        else if(a[i]==5 || a[i]==6)
            sum=sum+5;
        else if(a[i]==7 || a[i]==8)
            sum=sum+2;
        else if(a[i]==9 || a[i]==10)
            sum=sum+8;
    }
    return sum;
}
void issort(student s[],int sum[],int n)
{
    int ret;
    for(int i=0; i<n; i++)
    {
        int min=i;
        for(int j=i+1; j<n; j++)
        {
            if(sum[min]<sum[j])
                min=j;
        }
        for(int j=i; j<n; j++)
        {
            if(sum[min]==sum[j])
            {
                ret=strcmp(s[min].name,s[j].name);
                if(ret>0)
                {
                    min=j;
                    char t[15];
                    strcpy(t,s[min].name);
                    strcpy(s[min].name,s[j].name);
                    strcpy(s[j].name,t);
                }
            }
        }
        int temp=sum[min];
        sum[min]=sum[i];
        sum[i]=temp;
        char t[15];
        strcpy(t,s[min].name);
        strcpy(s[min].name,s[i].name);
        strcpy(s[i].name,t);
        cout<<s[i].name<<endl;
    }
}
int main()
{
    student s[115],b;
    int n,i=0,sum[115],sw[115];
    cin>>n;
    for(i=0; i<n; i++)
    {
        cin>>s[i].name>>s[i].h;
        int h=s[i].h;
        for(int j=0; j<h; j++)
        {
            cin>>b.a[j];

        }
        sum[i]=su(b.a,h);
    }
    issort(s,sum,n);
    return 0;
} 

No comments

Theme images by enjoynz. Powered by Blogger.