溢出(2)
查看原帖
溢出(2)
1093380
zhangfengkai001楼主2024/10/12 13:30
#include <iostream>
#include <string>
#include <map>

using namespace std;

const string in = "int";
const string put = "cout";

map<string, int> dmp;
int dd = 0;
int ddmp[100][1000000];
int dds[100];

bool impt_tf=0;

//int find_last(string s,char c)
//{
//	for(int i=s.size()-1;i>=0;i--)
//	{
//		 if(s[i]==c)
//		 {
//		 	return i;
//		 }
//	}
//	return -1;
//}

inline int makd(string s)
{
    short l = s.size();
    int px = 1;
    int turn = 0;
    for (int i = l - 1; i >= 0; i--)
    {
        turn += (s[i] - '0') * px;
        px *= 10;
    }
    return px; 
}

inline bool isitd(string s)
{
	for(int i=0;i<s.size();i++)
	{
		if(!s[i]<='9' || !s[i]>='0')
		{
			return 0;
		}
	}
	return 1;
}

inline void RE ()
{
	cout<<-1;
	exit(0);
}

int find_did(string s) 
{ 	
	int d=s.find('['); 
	string ddname=s.substr(0,d-1);
	int ddnum=dmp[ddname];
	if(isitd(s))
	{
		return ddmp[ddnum][makd(s)];
	}
	int l=s.size();
	int n=l-1;
	string next=s.substr(d-1,n);
	if(ddmp[ddnum][find_did(next)]<dds[ddnum])
		return ddmp[ddnum][find_did(next)];
	impt_tf=1;
	RE();
	return -114514;
}



int main()
{
    string kw;
    string nw;
    while (cin >> kw)
    {
        cin >> nw;
        if (kw == in)
        {
        	int wzmm=nw.find('[')-1;
            string ddn=nw.substr(0,wzmm);
            dmp[ddn]=dd;
            string inputstr=nw.substr(wzmm,nw.size()-1);
            int imptd=find_did(inputstr);
			dds[dd]=imptd;
			dd++;
        }
        else if (kw == put)
        {
        	int wzmm=nw.find('[')-1;
        	string ddn=nw.substr(0,wzmm);
        	string inputstr=nw.substr(wzmm,nw.size()-1);
            cout << find_did(inputstr) << '\n';
        }
		else
        {
        	int wzmm=kw.find('[')-1;
            string ddn=kw.substr(0,wzmm);
            string inputstr=nw.substr(wzmm,kw.size()-1);
            int imptd=find_did(inputstr);
            ddmp[dmp[kw]][imptd]=makd(nw);
        }
    }
    return 0;
}

RERERE!

看看吧,有用送 《渡口》 + 《The truth that you leave - Pianoboy》 无损音源!!!

2024/10/12 13:30
加载中...