AYIT2017暑假集训第三周周三赛 A - e-Coins POJ - 3021

本文介绍了一种新型经济体系中e-货币的概念及其价值衡量方式——e-模数,并提出通过算法计算达到指定e-模数所需的最少e-货币数量。
At the Department for Bills and Coins, an extension of today's monetary system has newly been proposed, in order to make it fit the new economy better. A number of new so called e-coins will be produced, which, in addition to having a value in the normal sense of today, also have an InfoTechnological value. The goal of this reform is, of course, to make justice to the economy of numerous dotcom companies which, despite the fact that they are low on money surely have a lot of IT inside. All money of the old kind will keep its conventional value and get zero InfoTechnological value. 

To successfully make value comparisions in the new system, something called the e-modulus is introduced. This is calculated as SQRT(X*X+Y*Y), where X and Y hold the sums of the conventional and InfoTechnological values respectively. For instance, money with a conventional value of $3 altogether and an InfoTechnological value of $4 will get an e-modulus of $5. Bear in mind that you have to calculate the sums of the conventional and InfoTechnological values separately before you calculate the e-modulus of the money. 

To simplify the move to e-currency, you are assigned to write a program that, given the e-modulus that shall be reached and a list of the different types of e-coins that are available, calculates the smallest amount of e-coins that are needed to exactly match the e-modulus. There is no limit on how many e-coins of each type that may be used to match the given e-modulus.
Input
A line with the number of problems n (0 < n<=100), followed by n times:
  • A line with the integers m (0 < m<=40) and S (0 < S<=300), where m indicates the number of different e-coin types that exist in the problem, and S states the value of the e-modulus that shall be matched exactly.
  • m lines, each consisting of one pair of non-negative integers describing the value of an e-coin. The first number in the pair states the conventional value, and the second number holds the InfoTechnological value of the coin.
When more than one number are present on a line, they will be separated by a space. Between each problem, there will be one blank line.
Output
The output consists of n lines. Each line contains either a single integer holding the number of coins necessary to reach the specified e-modulus S or, if S cannot be reached, the string "not possible".
Sample Input
3 
2 5 
0 2 
2 0 

3 20 
0 2 
2 0 
2 1 

3 5 
3 0 
0 4 
5 5 
Sample Output
not possible 
10 
2
Hint
 

The illustration examplifies adding 8 coins of conventional value 2 and InfoTechnological value 1, and 2 coins with pure InfoTechnological value 2. The e-modulus is of course 20 as SQRT((8*2+2*0)^2+(8*1+2*2)^2)=SQRT(16^2+12^2)=20 


题目大概意思就是给你几个点和一个固定值,从中挑选进行组合看什么时候能等于那个值

#include<stdio.h>
#include<string.h>
struct note
{
    int x,y,z,s;
} l[100000];
int n,m,t,flag,sum;
int x1[1000],y1[1000],book[450][450];
void bfs()
{
    int head=1,tail=2,i;
    l[head].x=0;
    l[head].y=0;
    l[head].z=0;
    l[head].s=0;
    while(head<tail)
    {
        if(l[head].z==m*m)
        {
            flag=1;
            sum=l[head].s;
            break;
        }
        for(i=0; i<n; i++)
        {
            int tx=l[head].x+x1[i];
            int ty=l[head].y+y1[i];
            int tz=tx*tx+ty*ty;
            if(tz<=m*m)
            {
                if(book[tx][ty]==0)
                {
                    l[tail].z=tz;
                    l[tail].x=tx;
                    l[tail].y=ty;
                    book[tx][ty]=1;
                    l[tail].s=l[head].s+1;
                    tail++;
                }
            }
        }
        head++;
    }
}
int main()
{
    int i,j;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&n,&m);
        for(i=0; i<n; i++)
            scanf("%d%d",&x1[i],&y1[i]);
        flag=0;
        sum=0;
        memset(book,0,sizeof(book));
        book[0][0]=1;
        bfs();
        if(flag)
            printf("%d\n",sum);
        else printf("not possible\n");
    }
}

一. 单选题(共30题,85.5分) 1. (单选题) 创建一个到百度的链接,打开页面在新打开的窗口中,可以实现的代码是( )。 A "<a href='http://www.baidu.com' target='_blank'>百度</a>" B "<a href='http://www.baidu.com' target='_self'>百度</a>" 2. (单选题) 在使用iframe这个标签时,需要设置浮动框架的边框显示,设置的属性是() A frameborder B border 3. (单选题) 通过超级链接执行JavaScript语句“alert('你好!欢迎访问我的网站!');”,源端点为文本“执行JavaScript脚本”。可以实现的代码是( ) A “<a href="alert('你好!欢迎访问我的网站!')">执行JavaScript脚本</a>” B “<a href="Javascript:alert('你好!欢迎访问我的网站!')">执行JavaScript脚本</a>” 4. (单选题) 在HTML中,下列哪个元素属于块级元素? A div B a C span D strong 5. (单选题) 能显示如下图所示的无序列表的代码是( ) A " <ul type= "disc" > <li>java </li> <li>C++ </li> <li>python </li> </ul>" B " <ul type= "circle" > <li>java </li> <li>C++ </li> <li>python </li> </ul>" 6. (单选题) 声明有序列表用( )标签。 A <ul> B <dd> C <dl> D <ol> 7. (单选题) 声明无序列表用( )标签。 A <ol> B <ul> C <div> D <em> 8. (单选题) 下列关于HTML元素的说法中,哪一项是正确的? A 块级元素无法嵌套其他元素 B 块级元素默认不会换行 C 行内元素通常用于包裹文本内容 D 行内元素可以设置宽度和高度 9. (单选题) 以下元素是行内元素的有( )。 A span B img C h1~h6 D div 10. (单选题) 以下是块级元素的是( ) A img B p C em D span 11. (单选题) 创建无序列表,需要使用的标签是( ) A ol和dd B ol、dt和dd C ol和li D ul和li 12. (单选题) 以下关于div标签描述不正确的是( ) A div能设置宽度和高度 B div是一个块级元素 C div是一个容器元素 D div不能设置内边距和外边距 13. (单选题) 能显示如下图所示的有序列表的代码是( )。 A " <ol> <li>java </li> <li>C++ </li> <li>python </li> </ol> " B " <ul> <li>java </li> <li>C++ </li> <li>python </li> </ul>" 14. (单选题) 能够实现在浏览器中打开文档的显示的代码是() A "<a href="resource/download.txt">文本显示</a>" B "<a href="resource/download.docx">文本显示</a>" 15. (单选题) 设置页面的基准url为"https://www.ayit.edu.cn" 并且链接打开都在新窗口中,可以实现的代码是( ) A "<base href="https://www.ayit.edu.cn"></base>" B "<base href="https://www.ayit.edu.cn" target="_blank">" 16. (单选题) 在设置有序列表的列表项标号为小写罗马字符是用的属性和值是( ) A "type=a" B "type=A" C "type=I" D "type=i" 17. (单选题) 创建超链接必须具备的条件是同时存在() A 目标端点和href属性 B 源端点和目标端点 18. (单选题) 创建一个超级链接,链接地址为“http://www.baidu.com”,在新窗口内打开页面,显示文本为“百度搜索”,当鼠标放在链接上时显示“你要找什么?,代码可以实现的是() A " <a href="http://www.baidu.com" target="_blank" alt="你要找什么?">百度搜索</a>" B " <a href="http://www.baidu.com" target="_blank" title="你要找什么?">百度搜索</a>" 19. (单选题) 使用超级链接实现在页面标题1处创建书签,书签名为“head”,可以实现的代码是( )。 A “<a href="head"> <h1>标题1</h1> </a>” B “<a id="head"> <h1>标题1</h1> </a>” 20. (单选题) 在使用a标签跳转到书签位置时,创建超级链接可以实现的代码是() A "<a id='#head'>跳转到头部</a>" B "<a href='#head'>跳转到头部</a>" 21. (单选题) 以下关于块级元素描述不正确的是( ) A 块级元素不能设置宽度和高度 B 块级元素不设置宽度样式时,宽度自动撑满父元素宽度 C 块级元素和相邻的块级元素依次垂直排列 D 块级元素独占一行 22. (单选题) 以下标签中,都是块级元素的是( ) A img、span、div B span、div、p C img、div 、p D div 、p、h1 23. (单选题) 在无序列表中,定义列表项用( )标签。 A <ol> B <dd> C <tr> D <li> 24. (单选题) 设置有序列表的列表标号起始编号为3,设置的属性和值是( ) A "type=3" B "start=3" 25. (单选题) 使目标端点在新打开的窗口显示,可以实现的代码是() A "<a href='a001.htm' target=_self>跳转新页面</a>" B "<a href='a001.htm' target=_blank>跳转新页面</a>" 26. (单选题) 以下关于行内块元素描述错误的是( ) A 可以设置宽度和高度 B span是行内块元素 C 和相邻的行内元素以及行内块元素从左向右一次排列在同一行,直到一行排不下时才会换行。 D 可以设置4个方向的内、外边距 27. (单选题) 以下不是块级元素的标签是( ) A div B span C p D section 28. (单选题) 能够实现图片是链接的代码是() A "<a href="http://www.baidu.com"></a><img src='img/logo.png' width=30px>" B "<a href="http://www.baidu.com"><img src='img/logo.png' width=30px></a>" 29. (单选题) 在用a标签创建书签时,能够实现的代码是() A "<a id=head>我是书签</a>" B "<a href=head>我是书签</a>" 30. (单选题) 能显示如下图所示的无序列表的代码是( ) A "<ol type= "I"> <li>java </li> <li>C++ </li> <li>python </li> </ol>" B "<ol type= "i"> <li>java </li> <li>C++ </li> <li>python </li> </ol>" 二. 多选题(共5题,14.5分) 31. (多选题) 下列关于div标签的说法,哪些是正确的? A 默认不会独占一行 B 常用于网页布局 C 是一个块级元素 D 可以嵌套其他HTML元素 32. (多选题) 块级元素的特点有( )。 A 不设置宽度样式时,宽度自动撑满父元素宽度 B 不独占一行 C 独占一行 D 和相邻的块级元素依次垂直排列 E 可以设置宽度、高度、四个方向的内外边距 33. (多选题) 能够设置宽度和高度的元素级别有( )。 A 块内行元素 B 块级元素 C 行内块元素 D 行内级元素 34. (多选题) 以下是行内块元素的是( )。 A input B img C div D span 35. (多选题) 以下是块级元素的是( )。 A h1_h6 B p C span D div E ul
最新发布
09-26
以下为一些涉及链接创建、标签属性、元素类型等方面的单选题和多选题及解答: ### 单选题 1. 创建超链接时,使用的标签是( ) A. `<img>` B. `<a>` C. `<p>` D. `<ul>` 答案:B。`<a>` 标签用于创建超链接,通过 `href` 属性指定链接的目标地址。`<img>` 用于插入图片,`<p>` 用于创建段落,`<ul>` 用于创建无序列表 [^4]。 2. 以下哪个属性用于设置图片的替代文本( ) A. `src` B. `alt` C. `width` D. `height` 答案:B。`alt` 属性用于为图片提供替代文本,当图片无法显示时,会显示该替代文本。`src` 属性用于指定图片的源文件路径,`width` 和 `height` 分别用于设置图片的宽度和高度。 3. 以下哪种元素属于块级元素( ) A. `<span>` B. `<a>` C. `<div>` D. `<img>` 答案:C。`<div>` 是典型的块级元素,会独占一行,并且可以设置宽度和高度等属性。`<span>` 是行内元素,`<a>` 通常也是行内元素,`<img>` 是替换元素,但默认是行内元素。 ### 多选题 1. 以下哪些属性可以用于 `<a>` 标签( ) A. `href` B. `target` C. `title` D. `src` 答案:ABC。`href` 属性用于指定链接的目标地址,`target` 属性用于指定链接的打开方式(如 `_blank` 表示在新窗口打开),`title` 属性用于为链接提供额外的提示信息。`src` 属性用于指定图片、脚本等资源的源文件路径,不用于 `<a>` 标签。 2. 以下哪些标签属于 HTML5 的语义化标签( ) A. `<header>` B. `<section>` C. `<article>` D. `<footer>` 答案:ABCD。HTML5 引入了一系列语义化标签,如 `<header>` 表示页面或区域的头部,`<section>` 表示文档中的一个章节,`<article>` 表示独立的内容,`<footer>` 表示页面或区域的底部 [^2]。 ```html <!-- 示例代码:使用 a 标签创建链接 --> <a href="https://www.example.com" target="_blank" title="点击访问示例网站">示例网站</a> <!-- 示例代码:使用 HTML5 语义化标签 --> <header> <h1>页面标题</h1> </header> <section> <h2>章节标题</h2> <p>章节内容</p> </section> <article> <h2>文章标题</h2> <p>文章内容</p> </article> <footer> <p>版权信息</p> </footer> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值