• E


    一个计算迟到早退违纪扣分的东西

    题意简单明了

    情况有点多,分各种情况讨论,有点麻烦但是难度不大

    一次性写的所以代码很乱,就当留给自己看吧

    上代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<bitset>
    #include<cassert>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<ctime>
    #include<deque>
    #include<iomanip>
    #include<list>
    #include<map>
    #include<queue>
    #include<set>
    #include<stack>
    #include<vector>
    #include <vector>
    #include <iterator>
    #include <utility>
    #include <sstream>
    #include <limits>
    #include <numeric>
    #include <functional>
    using namespace std;
    #define gc getchar()
    #define mem(a) memset(a,0,sizeof(a))
    //#define sort(a,n,int) sort(a,a+n,less<int>())
    
    #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    
    typedef long long ll;
    typedef unsigned long long ull;
    typedef long double ld;
    typedef pair<int,int> pii;
    typedef char ch;
    typedef double db;
    
    const double PI=acos(-1.0);
    const double eps=1e-6;
    const ll mod=1e9+7;
    const int inf=0x3f3f3f3f;
    const int maxn=1e5+10;
    const int maxm=100+10;
    
    bool compare(int a, int b)
    {
        return a < b;//升序
    }
    
    int main()
    {
        int n = 0;
        char a[20];
        int a1[6];
        char s;
        while(1)
        {
            cin >>n;
            if(n == 0)break;
            int points = 0;
            while(n--)
            {
                cin >>a;
                s = a[0];
                int pool = 0;
                int counter = 0;
                for(int i = 2;i<20;i++)
                {
                     if(a[i]==':' || a[i]=='')
                    {
                         a1[counter] = pool;
                        counter++;
                        pool = 0;
                    }
                    else
                    {
                           pool = pool*10 +a[i]-48;
                    }
                 }
                 /*
                cout <<s<<endl;////
                for(int i = 0;i<6;i++)////
                {
                     cout<<a1[i]<<endl;
                }
                */
                if(s == 'D')
                {
                    if(a1[0] < 9)
                    {
                        if(a1[3]-a1[0] > 8)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!11"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 8 && a1[4]-a1[1] > 0)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!11"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 8 && a1[4]-a1[1] == 0 && a1[5]-a1[2] >= 0)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!11"<<endl;
                            }
                        }
                        else 
                        {
                             points++;
                             //cout<<"!1"<<endl;
                        }
                    }
                    else if(a1[0]==9 && a1[1]<30)
                    {
                        if(a1[3]-a1[0] > 8)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!21"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 8 && a1[4]-a1[1] > 0)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!21"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 8 && a1[4]-a1[1] == 0 && a1[5]-a1[2] >= 0)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!21"<<endl;
                            }
                        }
                        else 
                        {
                             points++;
                             //cout<<"!2"<<endl;
                        }
                     }
                     else if(a1[0]==9 && a1[1]==30 && a1[2]==0)
                     {
                         if(a1[3]-a1[0] > 8)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!31"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 8 && a1[4]-a1[1] > 0)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!31"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 8 && a1[4]-a1[1] == 0 && a1[5]-a1[2] >= 0)
                        {
                            if(a1[3]-8 > 8);
                            else if(a1[3]-8 == 8 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 8 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!31"<<endl;
                            }
                        }
                        else 
                        {
                             points++;
                             //cout<<"!3"<<endl;
                        }
                     }
                     else
                     {
                         points++;
                         //cout<<"!8"<<endl;
                     }
                }
                else if(s == 'E')
                {
                    if(a1[0] < 12)
                    {
                        if(a1[3]-a1[0] > 9)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!41"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 9 && a1[4]-a1[1] > 0)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!41"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 9 && a1[4]-a1[1] == 0 && a1[5]-a1[2] >= 0)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!41"<<endl;
                            }
                        }
                        else 
                        {
                             points++;
                             //cout<<"!4"<<endl;
                        }
                    }
                    else if(a1[0]==12 && a1[1]<30)
                    {
                        if(a1[3]-a1[0] > 9)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!51"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 9 && a1[4]-a1[1] > 0)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!51"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 9 && a1[4]-a1[1] == 0 && a1[5]-a1[2] >= 0)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!51"<<endl;
                            }
                        }
                        else 
                        {
                             points++;
                             //cout<<"!5"<<endl;
                        }
                     } 
                     else if(a1[0]==12 && a1[1]==30 && a1[2]==0)
                     {
                         if(a1[3]-a1[0] > 9)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!61"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 9 && a1[4]-a1[1] > 0)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!61"<<endl;
                            }
                        }
                        else if(a1[3]-a1[0] == 9 && a1[4]-a1[1] == 0 && a1[5]-a1[2] >= 0)
                        {
                            if(a1[3]-8 > 9);
                            else if(a1[3]-8 == 9 && a1[4]-30 > 0);
                            else if(a1[3]-8 == 9 && a1[4]-30 == 0 && a1[5] >= 0);
                            else 
                            {
                                 points++;
                                //cout<<"!61"<<endl;
                            }
                        }
                        else 
                        {
                             points++;
                             //cout<<"!6"<<endl;
                        }
                     }
                     else
                     {
                        points++;
                         //cout<<"!7"<<endl;
                    }
                }
            }
            if(points == 0)
            {
                cout<<"All OK"<<endl;
            }
            else if(points > 3)
            {
                  cout<<"Issue Show Cause Letter"<<endl;
            }
            else
            {
                cout <<points <<" Point(s) Deducted"<<endl;
            }
        }
        return 0;
    } 
    View Code

    作者:YukiRinLL

    出处:YukiRinLL的博客--https://www.cnblogs.com/SutsuharaYuki/

    您的支持是对博主最大的鼓励,感谢您的认真阅读。

    本文版权归作者所有,欢迎转载,但请保留该声明。

  • 相关阅读:
    java 获取文本一行一行读
    postman 测试api接口
    MariaDB 默认是禁止远程访问的 我们改掉它
    mysql 查询近三个月数据
    Springboot配置拦截器
    springboot 基于@Scheduled注解 实现定时任务
    springboot 配置访问本地图片
    springboot上传文件大小限制的配置
    vue中toggle切换的3种写法
    vue怎么给自定义组件绑定原生事件
  • 原文地址:https://www.cnblogs.com/SutsuharaYuki/p/11948906.html
Copyright © 2020-2023  润新知