编程介的小学生 2019-01-24 18:10 采纳率: 20.5%
浏览 194

一个和线性优化相关的试题,A Foldy but a Goody,采用C语言的正确解答

Problem Description
Suppose you have a strip of paper and are given instructions to fold the paper in one of two ways: an upper fold, where the right end of the paper is brought over to the top of the left end; and a lower fold, where the right end of the paper is brought below the left end. The diagram below illustrates both types of folds.

Now, after meticulously folding the strip several times, you are asked to unfold it by making a 90 degree angle at each crease. The example below shows the result of an upper fold, followed by a lower fold and then an unfolding.

If the left end of the folded strip is placed at the origin (0,0) and the first right angle is at (1,0), it is natural to ask the questions: Where will the second right angle be located? The third right angle? Where will the other end of the strip be located? Well, that’s for us to know and you to figure out.

Input
The input file will contain multiple test cases. The first line of the file will contain a single integer indicating the number of test cases. Each case will consist of a string of letters U and L indicating a series of upper and lower folds followed by an integer m. The length of the string will be between 1 and 30, inclusive. The value of m identifies a position on the paper. A value of m = 0 indicates the left end (at location (0, 0)). If there are n folds, then a value of m = 2n indicates the right end of the strip. Any value for m between these two extremes represents one of the right angles; m = 1 indicates the first right angle, and so on.

Output
For each test case, output a single line of the form (x,y) indicating the location of the right angle (or end point) specified by the problem. You should assume that if there are n folds in the test case, the length of the string is 2n so that the distance between creases is 1 unit long.

Sample Input
3
UL 4
UL 3
LLUL 13

Sample Output
(2,0)
(2,-1)
(1,-2)

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-09 22:33
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制