#P3637. 方程组
方程组
题目背景
从小学开始,我们就一直做各种各样的应用题,其中大多数的题目都可以抽象为解方程组。
为了提高效率,省下时间打隔膜学习OI,xht 准备开发一个自动解题器。其中的一个核心组件就是解方程组的程序,xht 决定将这个任务交给你。
题目描述
一开始,xht 有 个变量,记为 。另有一个常数 ,以及 个方程,每个方程都形如 。
由于题目可能会变化,xht 需要不时增加一个新的方程,或者删掉一个方程。
同时,xht 会给你一些这样的询问:令变量 ,求另一个变量 的值。当然,有的时候会因为条件不足,无法解出 ,那么就输出 。
数据保证任意时刻两个变量之间最多存在一个方程。保证不会出现自相矛盾的方程组,也不会出现多余的条件(某个方程可以通过其他一些方程推出来)。
输入格式
第一行四个整数 ,含义如上。 代表操作的条数。
接下来 行,每行三个整数 ,表示方程 。
接下来 行,每行第一个数 代表操作种类,
* ,接下来输入 ,代表增加一条方程 ;
* ,接下来输入 ,代表删除 之间的方程,如果这条方程不存在,则什么也不做;
* ,接下来输入 ,代表询问:令 ,求 的值;
输出格式
对于每一个 操作(询问),输出一行一个数 (),表示 ,如果条件不足,则输出 。
3 2 100 3
1 2 1
2 3 2
3 1 3 0
2 1 2
3 1 3 0
97
-1
提示
样例的解释:
一开始有两条方程:,。
第一次询问,令,解得。
第二次询问时,删掉了第二条方程,导致条件不足,无法解出 ,输出 。
对于 的数据,只有询问操作。
对于 的数据,,,,,。
保证所有的 。