zoukankan      html  css  js  c++  java
  • HDU 1082 Matrix Chain Multiplication by kuangbin

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1082

    writed by kuangbin

    题目大意:

    大意就是给你n个矩阵,再给你一个矩阵链,先判断矩阵链是否合法,再计算这个矩阵链要做多少次乘法。

    代码:

    #include<stdio.h>
    #include<string.h>
    int a[26][2];
    int zhan[1000][2];
    int top;
    int sum;
    char str[1000];
    int jin(int x)
    {
    zhan[top][0]=a[x][0];
    zhan[top][1]=a[x][1];
    top++;
    return 0;
    }
    int chu()
    {
    if(zhan[top-2][1]!=zhan[top-1][0])return 1;
    sum+=zhan[top-1][0]*zhan[top-1][1]*zhan[top-2][0];
    zhan[top-2][1]=zhan[top-1][1];
    top--;
    return 0;
    }
    int main()
    {
    //freopen("test.in","r",stdin);
    // freopen("test.out","w",stdout);
    int n,i,j,x,y;
    char ch;
    scanf("%d",&n);

    for(i=0;i<n;i++)
    {
    getchar();
    scanf("%c %d %d",&ch,&x,&y);
    // printf("%c %d %d\n",ch,x,y);
    a[ch-'A'][0]=x;
    a[ch-'A'][1]=y;
    }
    while(scanf("%s",&str)!=EOF)
    {
    top=sum=0;
    int len=strlen(str);
    if(len==1)
    {
    printf("0\n");
    continue;
    }
    int flag=0;
    for(i=0;i<len&&!flag;i++)
    {
    if(str[i]=='(')continue;
    if(str[i]==')')flag=chu();
    else jin(str[i]-'A');
    if(flag) break;
    }
    if(flag) printf("error\n");
    else printf("%d\n",sum);
    }
    return 0;
    }
  • 相关阅读:
    css 分类+选择器
    emmet语法
    程序员能力矩阵
    时间管理

    java 内存 解析
    SQL 查询优化
    2016 书单计划
    ssh框架;
    Mybatis;
  • 原文地址:https://www.cnblogs.com/kuangbin/p/2262172.html
Copyright © 2011-2022 走看看