#P1370. Vasya and Types

    ID: 1124 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>语言入门字符串入门基础算法模拟CodeForces

Vasya and Types

题目描述

程序员 Vasya 正在学一种新的语言,在这个语言里,你可以做以下两种操作:

  • 给一个变量的赋值:typedef A B
  • 输出这个变量的类型:typeof A

在这个语言里只有两种基础值:voiderrtype。他还有强大的指针系统,你可以给一个变量用 * 加上若干个指针,也可以用 & 去掉若干个指针,赋值规则如下:

  • * 的个数小于 & 的个数时,该变量会被永久赋值为 errtype
  • 有一种行为被称为未定义行为,即你在这个变量未赋值时将其用于赋值;
  • 当你做了一个未定义行为时,被赋值和赋值或被输出的变量将被临时赋值为 errtype
  • 任何对 errtype 进行的操作视为无效。

给定 NN 次操作,请输出每次 typeof 将输出的值。

输入格式

第一行一个整数 nn1n1001\le n\le 100

接下来 nn 行,每行一个操作。

输出格式

若干行,对于每一个 typeof A 操作,输出对应结果。

5
typedef void* ptv
typeof ptv
typedef &&ptv node
typeof node
typeof &ptv
void*
errtype
void
17
typedef void* b
typedef b* c
typeof b
typeof c
typedef &b b
typeof b
typeof c
typedef &&b* c
typeof c
typedef &b* c
typeof c
typedef &void b
typeof b
typedef b******* c
typeof c
typedef &&b* c
typeof c
void*
void**
void
void**
errtype
void
errtype
errtype
errtype