zoukankan      html  css  js  c++  java
  • UVA442-栈

    题意:

    求矩阵相乘的次数,用栈

    WA了这么多次

    下次还是不能去猜题意,o(︶︿︶)o 唉

    #include<iostream>
    #include <stdio.h>
    #include <memory.h>
    using namespace std;
    
    struct Node
    {
    	int r;
    	int c;
    };
    int main()
    {
    	freopen("d:\1.txt", "r", stdin);
    	int total;
    	Node node[26];
    	cin >> total;
    	char cc;
    	int r, c;
    	while (total--)
    	{
    		cin >> cc >> r >> c;
    		Node nn;
    		nn.r = r;
    		nn.c = c;
    		node[cc-'A'] = nn;
    	}
    	string str;
    	while (cin>>str)
    	{
    //		cout << str << endl;
    		total = 0;
    		Node stack[1000];
    		int s = 0;
    		bool error = false;
    		int length = str.length();
    		for(int i = 0; i < length; i++)
    		{
    			cc = str.at(i);
    			if(cc == ')')
    			{
    				//pop;
    				Node node2 = stack[--s];
    				Node node1 = stack[--s];
    				//r1*c1*c2
    				if(node1.c != node2.r)
    				{
    					error = true;
    					break;
    				}
    				total += node1.r * node1.c * node2.c;
    				Node node3;
    				node3.r = node1.r;
    				node3.c = node2.c;
    				stack[s++] = node3;
    			}
    			else if('A' <= cc && cc <= 'Z')
    			{
    				stack[s++] = node[cc - 'A'];
    			}
    		}
    		if(error)
    			cout << "error" << endl;
    		else
    			cout << total << endl;
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    Python机器学习-分类
    Python2.x和Python3.x的区别
    cut命令
    uniq 命令
    sort命令
    KMP算法
    Trie树
    做10年Windows程序员与做10年Linux程序员的区别
    c语言内存模型
    C语言的一个关键字——static
  • 原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/6847677.html
Copyright © 2011-2022 走看看