HDU 5625 Clarke and chemistry(字符串模拟题目)

来源:互联网 发布:matlab矩阵中的最小值 编辑:程序博客网 时间:2024/05/21 18:33

AC代码如下

#include<stdio.h>  #include<string.h>  #include<iostream>  #include<algorithm>  using namespace std;  int A[105], B[105], C[105];  int main()  {          int t,n;      int a, b, c;      char s[5];      scanf("%d", &t);      while (t--)      {          memset(A, 0, sizeof(A));          memset(B, 0, sizeof(B));          memset(C, 0, sizeof(C));          scanf("%d %d %d", &a, &b, &c);          int num;        for (int i = 0; i < a; i++)          {               scanf("%s %d", s, &num);               A[s[0] - 'A'] = num;          }          for (int i = 0; i < b; i++)          {              scanf("%s %d", s, &num);              B[s[0] - 'A'] = num;          }          for (int i = 0; i < c; i++)          {              scanf("%s %d", s, &num);              C[s[0] - 'A'] = num;          }          int a1, b1;          int flag = 1;          for (a1 = 1; a1 < 102; a1++)          {              for (b1 = 1; b1 < 102; b1++)              {                  flag = 1;                  for (int i = 0; i < 26 && flag; i++)                  {                      if (A[i] * a1 + B[i] * b1 != C[i])                      {                          flag = 0;                      }                  }                  if (flag==1)                  {                      break;                  }              }              if (flag==1)              {                  break;              }          }          if (flag==1)          {              printf("%d %d\n", a1, b1);          }          else          {              printf("NO\n");          }      }      return 0;  }
0 0
原创粉丝点击