90昏!!!悬关求助!
查看原帖
90昏!!!悬关求助!
1122305
lanxuanfeng楼主2024/3/22 16:18
#include <stdlib.h>
#include<string.h>
#include<math.h>
char ch[1005][10005];
char str[1005][10005];
char kongstr[1005][10005];
char kongch[1005][10005];
int count = 0;
int main()
{
    int n = 0;
    int a;
    do
    {
        gets(ch[n]);
        a = strcmp(ch[n], "EOF");
        n++;
    }
    while (a != 0);
    int m = n;
    n = 0;
    do
    {
        gets(str[n]);
        a = strcmp(str[n], "EOF");
        n++;
    }
    while (a != 0);
    int count = 0;
    for (int i = 0; i < n - 1; i++)
    {
        int flag;
        int sum;
        int sz = strlen(str[i]);
        for (int j = 0; j < sz; j++)
        {
            sum = 0;
            flag = 0;
            if (str[i][j] != '<')
            {
                kongstr[i][j] = str[i][j];
            }
            while (str[i][j] == '<')
            {
                j++;
                sum++;
                flag = 1;
            }
            if (flag == 1)
            {
                j--;
                for (int k = j; k >= j - 2 * sum+1; k--)
                {
                    kongstr[i][k] = 1;
                    if (k == 0)
                    {
                        break;
                    }
                }
            }

        }
        int szz = strlen(ch[i]);
        for (int j = 0; j < szz; j++)
        {
            flag = 0;
            sum = 0;
            if (ch[i][j] != '<')
            {
                kongch[i][j] = ch[i][j];
            }
            while (ch[i][j] == '<')
            {
                j++;
                sum++;
                flag = 1;
            }
            if (flag == 1)
            {
                j--;
                for (int k = j; k >= j - 2 * sum+1; k--)
                {
                    kongch[i][k] = 1;
                    if (k == 0)
                    {
                        break;
                    }
                }
            }
        }
    }
    for (int i = 0; i < n - 1; i++)
    {
        int sz = strlen(kongstr[i]);
        int k = 0;
        for (int j = 0; j < sz;)
        {
            if (kongch[i][k] == kongstr[i][j] && kongch[i][k] !=1)
            {
                k++;
                j++;
                count++;
            }
            while (kongch[i][k] == 1)
            {
                k++;
            }
            while (kongstr[i][j] == 1)
            {
                j++;
            }
            if (kongch[i][k] != kongstr[i][j] && kongch[i][k] != 1 && kongstr[i][j] !=1)
            {
                k++;
                j++;
            }
        }
    }
    int time;
    scanf("%d", &time);
    double zuihou=(double)count * 60 / time;
    if(zuihou+0.5>=count * 60 / time+1)
    {
        printf("%d", count * 60 / time+1);
    }
    else
    {
        printf("%d", count * 60 / time);
    }
}
2024/3/22 16:18
加载中...