Not so Mobile UVA 839



  Not so Mobile 

Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wires suspending colourfull things. This kind of mobile is usually found hanging over cradles of small babies.

\epsfbox{p839a.eps}

The figure illustrates a simple mobile. It is just a wire, suspended by a string, with an object on each side. It can also be seen as a kind of lever with the fulcrum on the point where the string ties the wire. From the lever principle we know that to balance a simple mobile the product of the weight of the objects by their distance to the fulcrum must be equal. That is Wl×Dl = Wr×Dr where Dl is the left distance, Dr is the right distance, Wl is the left weight and Wr is the right weight.


In a more complex mobile the object may be replaced by a sub-mobile, as shown in the next figure. In this case it is not so straightforward to check if the mobile is balanced so we need you to write a program that, given a description of a mobile as input, checks whether the mobile is in equilibrium or not.

\epsfbox{p839b.eps}

Input 

The input begins with a single positive integer on a line by itself indicating the number of the cases following, each of them as described below. This line is followed by a blank line, and there is also a blank line between two consecutive inputs.


The input is composed of several lines, each containing 4 integers separated by a single space. The 4 integers represent the distances of each object to the fulcrum and their weights, in the format: Wl Dl Wr Dr

If Wl or Wr is zero then there is a sub-mobile hanging from that end and the following lines define the the sub-mobile. In this case we compute the weight of the sub-mobile as the sum of weights of all its objects, disregarding the weight of the wires and strings. If both Wl and Wr are zero then the following lines define two sub-mobiles: first the left then the right one.

Output 

For each test case, the output must follow the description below. The outputs of two consecutive cases will be separated by a blank line.


Write `YES' if the mobile is in equilibrium, write `NO' otherwise.

Sample Input 

1

0 2 0 4
0 3 0 1
1 1 1 1
2 4 4 2
1 6 3 2

Sample Output 

YES



Jose Paulo Leal, ACM-UP'2001

这道题题意很好理解就是判断力矩平衡,一看题目就知道是要用递归dfs,但是陷进一个死胡同,在判断输入数字结束时纠结了很久,后面参考别人的代码发现完全不用考虑。哎~太年轻。

#include<iostream>

using namespace std;

int ok;

int dfs()
{
    int w1,d1,w2,d2;
    cin>>w1>>d1>>w2>>d2;
    if(w1==0)
        w1=dfs();
    if(w2==0)
        w2=dfs();
    if(w1*d1!=w2*d2) ok=0;
    return w1+w2;
}

int main()
{
    int n,i;
    cin>>n;
    for(i=0;i<n;i++)
    {
        ok=1;
        dfs();
        if(ok) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
        if(i!=n-1) cout<<endl;
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebGL建设在移动设备上不受支持是因为移动设备的浏览器和操作系统限制了对WebGL的支持。移动设备的处理能力和内存有限,而WebGL需要较强的图形处理能力和高性能的硬件支持。此外,移动设备上的浏览器可能不支持或不完全支持WebGL标准,导致WebGL构建在移动设备上无法正常运行。 其中一个原因是移动设备上的浏览器缺乏对OpenGL ES库的支持,而WebGL是基于OpenGL ES标准开发的。这使得移动设备无法提供支持WebGL所需的底层渲染功能和硬件加速。另外,移动设备的操作系统和浏览器也对图形渲染进行了限制,以保证电池寿命和性能方面的最佳化。 虽然HTML5和CSS3在移动设备上得到了广泛支持,但WebGL仍然是一个相对较新的技术,移动设备的基础设施和软件还没有完全适应它的需求。因此,开发者需要使用其他技术或工具来在移动设备上创建图形化的应用程序,例如使用Canvas 2D API来实现类似的功能或使用跨平台的游戏引擎。 需要特别注意的是,虽然不是所有移动设备都支持WebGL,但一些高端移动设备,尤其是最新型号的智能手机和平板电脑,可能具备足够的图形处理能力来运行WebGL应用程序。因此,在开发基于WebGL的应用程序时,需要检查目标设备的兼容性和性能要求,并确保提供替代方案以便在不支持WebGL的设备上正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值