forked from Open-CT/openct-tasks
269 lines
11 KiB
HTML
269 lines
11 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Trombone rouge</title>
|
|
<link class="module" rel="stylesheet" href="../../../_common/modules/pemFioi/taskStyles-0.1.css" id="http://www.france-ioi.org/modules/pemFioi/taskStyles-0.1.css">
|
|
<script class="module" src="../../../_common/modules/ext/jquery/1.7/jquery.min.js" id="http://code.jquery.com/jquery-1.7.1.min.js"></script>
|
|
<script class="module" src="../../../_common/modules/ext/jquery-ui/1.10/jquery-ui-1.10.3.custom.min.js" id="http://jqueryui.com/download/jquery-ui-1.10.3.custom.min.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/ext/json/json2.min.js" id="https://github.com/douglascrockford/JSON-js"></script>
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/integrationAPI.01/installationAPI.01/pemFioi/installation.js" id="http://www.france-ioi.org/modules/integrationAPI.01/installationAPI.01/pemFioi/installation.js"></script>
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/ext/jschannel/jschannel.js"></script>
|
|
<script class="proxy module" type="text/javascript" src="../../../_common/modules/integrationAPI.01/official/platform-pr.js" id="http://www.france-ioi.org/modules/integrationAPI.01/official/platform-pr.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/beaver-task.js" id="http://www.france-ioi.org/modules/pemFioi/beaver-task.js"></script>
|
|
<script class="stdButtonsAndMessages module" type="text/javascript" src="../../../_common/modules/integrationAPI.01/installationAPI.01/pemFioi/buttonsAndMessages.js" id="http://www.france-ioi.org/modules/integrationAPI.01/installationAPI.01/pemFioi/buttonsAndMessages.js"></script>
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/integrationAPI.01/official/miniPlatform.js" id="http://www.france-ioi.org/modules/integrationAPI.01/official/miniPlatform.js"></script>
|
|
<script class="" type="text/javascript">
|
|
task.getAnswer= function(callback) {
|
|
var res = $('#solution_2012_FR_06 > .item_2012_FR_06');
|
|
var strAnswer = "";
|
|
for (var i=0; i< res.length; i++) {
|
|
strAnswer += res[i].id.split('_')[0];
|
|
}
|
|
callback(strAnswer);
|
|
};
|
|
|
|
task.reloadAnswer= function(strAnswer, callback) {
|
|
task.resetAnimation();
|
|
if (strAnswer != "") {
|
|
var sol = strAnswer.split('i');
|
|
for(var i = 0; i < sol.length; i++) {
|
|
$("#solution_2012_FR_06").append($('#i' + sol[i] + '_2012_FR_06'));
|
|
}
|
|
}
|
|
callback();
|
|
};
|
|
|
|
task.load= function(views, callback) {
|
|
$('#ads_2012_FR_06').sortable({
|
|
connectWith: '#solution_2012_FR_06',
|
|
placeholder: "highlight_2012_FR_06",
|
|
containment: '#animationcontainer_2012_FR_06',
|
|
items: 'div.item_2012_FR_06'
|
|
});
|
|
$('#solution_2012_FR_06').sortable({
|
|
connectWith: '#ads_2012_FR_06',
|
|
placeholder: "highlight_2012_FR_06",
|
|
containment: '#animationcontainer_2012_FR_06',
|
|
items: 'div.item_2012_FR_06'
|
|
});
|
|
callback();
|
|
};
|
|
|
|
task.resetAnimation= function() {
|
|
$("#ads_2012_FR_06").append($('#i1_2012_FR_06'));
|
|
for (var i=1; i<14; i++) {
|
|
$('#i'+(i+1)+"_2012_FR_06").insertAfter('#i'+i+"_2012_FR_06");
|
|
}
|
|
};
|
|
</script>
|
|
<style class="">#animationcontainer_2012_FR_06 {
|
|
-moz-user-select: none;
|
|
-webkit-user-select: none;
|
|
-ms-user-select: none;
|
|
}
|
|
|
|
.animation_2012_FR_06 {
|
|
width:308px;
|
|
float: left;
|
|
height:420px;
|
|
z-index:-2;
|
|
border: 1px solid;
|
|
}
|
|
|
|
|
|
#solution_2012_FR_06 {
|
|
background: #bbd;
|
|
}
|
|
|
|
#ads_2012_FR_06 {
|
|
background: #ddd;
|
|
}
|
|
|
|
|
|
#ads_2012_FR_06 .item_2012_FR_06 {
|
|
background: #eef;
|
|
color:#333;
|
|
}
|
|
#solution_2012_FR_06 .item_2012_FR_06 {
|
|
background: white;
|
|
color:black;
|
|
}
|
|
|
|
|
|
.person_2012_FR_06, .takes_2012_FR_06, .gives_2012_FR_06 {
|
|
width: 95px;
|
|
position: absolute;
|
|
padding-left: 5px;
|
|
}
|
|
|
|
.person_2012_FR_06 {
|
|
//background: white;
|
|
}
|
|
|
|
.takes_2012_FR_06 {
|
|
//background: #fff8f8;
|
|
left: 100px;
|
|
}
|
|
|
|
.gives_2012_FR_06 {
|
|
//background: #f8fff8;
|
|
left: 200px;
|
|
}
|
|
|
|
.item_2012_FR_06, .title_2012_FR_06 {
|
|
border: 1px solid;
|
|
margin: 3px;
|
|
padding: 0px;
|
|
width: 300px;
|
|
cursor: move;
|
|
position: relative;
|
|
height: 20px;
|
|
}
|
|
|
|
.title_2012_FR_06 {
|
|
font-weight: bold;
|
|
cursor: default;
|
|
border: none;
|
|
height: 30px;
|
|
}
|
|
|
|
#buttons_2012_FR_06 {
|
|
clear: both;
|
|
}
|
|
|
|
#buttons_2012_FR_06 input {
|
|
font-size: large;
|
|
}
|
|
|
|
|
|
.highlight_2012_FR_06 {
|
|
background: yellow;
|
|
border: 2px dashed;
|
|
height: 20px;
|
|
}
|
|
|
|
#hintbackground_2012_FR_06 {
|
|
position: absolute;
|
|
width: parent;
|
|
font-size: 40px;
|
|
color: #777;
|
|
z-index:0;
|
|
width:280px;
|
|
padding:20px;
|
|
padding-top:50px;
|
|
}</style>
|
|
|
|
<script class="remove" type="text/javascript">var json = {
|
|
"id": "http://castor-informatique.fr/tasks/2012/2012-FR-06/",
|
|
"language": "fr",
|
|
"version": "fr.01",
|
|
"authors": "France-ioi",
|
|
"translators": [
|
|
|
|
],
|
|
"license": "CC BY-SA 3.0",
|
|
"taskPathPrefix": "",
|
|
"modulesPathPrefix": "",
|
|
"browserSupport": [
|
|
|
|
],
|
|
"acceptedAnswers": [
|
|
"i2i7i10i14"
|
|
]
|
|
};</script>
|
|
</head>
|
|
<body>
|
|
<div id="task">
|
|
<h1>Trombone rouge</h1>
|
|
<p>
|
|
À la suite d'une inondation, Castor a perdu tout ce qu'il possédait,
|
|
sauf un petit trombone rouge. Mais Castor ne perd pas espoir : il
|
|
compte récupérer une maison grâce à son trombone.
|
|
</p>
|
|
<p>
|
|
Pour cela, Castor a passé des heures sur le site d'échange en ligne
|
|
CastorBay. Il a sélectionné la liste d'annonces montrées ci-dessous.
|
|
Par exemple, la première annonce indique qu'Anne a besoin d'un
|
|
trombone et qu'elle est prête à donner un ballon en échange.
|
|
</p>
|
|
|
|
<p>
|
|
Aidez Castor à sélectionner et ordonner les échanges
|
|
à effectuer afin d'échanger son trombone contre une maison.</p>
|
|
|
|
<div id="animationcontainer_2012_FR_06">
|
|
<center>
|
|
<table><tr><td width="50%">
|
|
<div id="ads_2012_FR_06" class="animation_2012_FR_06"><center><b>Annonces disponibles</b></center>
|
|
<div class="title_2012_FR_06"><div class="person_2012_FR_06">Prénom</div><div class="takes_2012_FR_06">Prend</div><div class="gives_2012_FR_06">Donne</div></div>
|
|
<div class="item_2012_FR_06" id="i1_2012_FR_06"><div class="person_2012_FR_06">Anne</div><div class="takes_2012_FR_06">Trombone</div><div class="gives_2012_FR_06">Ballon</div></div>
|
|
<div class="item_2012_FR_06" id="i2_2012_FR_06"><div class="person_2012_FR_06">Mathilde</div><div class="takes_2012_FR_06">Trombone</div><div class="gives_2012_FR_06">Panier</div></div>
|
|
<div class="item_2012_FR_06" id="i3_2012_FR_06"><div class="person_2012_FR_06">Lucie</div><div class="takes_2012_FR_06">Ballon</div><div class="gives_2012_FR_06">Bateau</div></div>
|
|
<div class="item_2012_FR_06" id="i4_2012_FR_06"><div class="person_2012_FR_06">Daniel</div><div class="takes_2012_FR_06">Bateau</div><div class="gives_2012_FR_06">Robot</div></div>
|
|
<div class="item_2012_FR_06" id="i5_2012_FR_06"><div class="person_2012_FR_06">Marc</div><div class="takes_2012_FR_06">Ballon</div><div class="gives_2012_FR_06">Vélo</div></div>
|
|
<div class="item_2012_FR_06" id="i6_2012_FR_06"><div class="person_2012_FR_06">Thibault</div><div class="takes_2012_FR_06">Panier</div><div class="gives_2012_FR_06">Bateau</div></div>
|
|
<div class="item_2012_FR_06" id="i7_2012_FR_06"><div class="person_2012_FR_06">Marie</div><div class="takes_2012_FR_06">Panier</div><div class="gives_2012_FR_06">Canapé</div></div>
|
|
<div class="item_2012_FR_06" id="i8_2012_FR_06"><div class="person_2012_FR_06">Sarah</div><div class="takes_2012_FR_06">Canapé</div><div class="gives_2012_FR_06">Ballon</div></div>
|
|
<div class="item_2012_FR_06" id="i9_2012_FR_06"><div class="person_2012_FR_06">Pierre</div><div class="takes_2012_FR_06">Vélo</div><div class="gives_2012_FR_06">Ballon</div></div>
|
|
<div class="item_2012_FR_06" id="i10_2012_FR_06"><div class="person_2012_FR_06">Manon</div><div class="takes_2012_FR_06">Canapé</div><div class="gives_2012_FR_06">Tapis</div></div>
|
|
<div class="item_2012_FR_06" id="i11_2012_FR_06"><div class="person_2012_FR_06">Xavier</div><div class="takes_2012_FR_06">Tapis</div><div class="gives_2012_FR_06">Robot</div></div>
|
|
<div class="item_2012_FR_06" id="i12_2012_FR_06"><div class="person_2012_FR_06">Sophie</div><div class="takes_2012_FR_06">Peinture</div><div class="gives_2012_FR_06">Tapis</div></div>
|
|
<div class="item_2012_FR_06" id="i13_2012_FR_06"><div class="person_2012_FR_06">Romain</div><div class="takes_2012_FR_06">Vélo</div><div class="gives_2012_FR_06">Robot</div></div>
|
|
<div class="item_2012_FR_06" id="i14_2012_FR_06"><div class="person_2012_FR_06">Lucas</div><div class="takes_2012_FR_06">Tapis</div><div class="gives_2012_FR_06">Maison</div></div>
|
|
</div>
|
|
</td>
|
|
<td width="50%">
|
|
<div id="solution_2012_FR_06" class="animation_2012_FR_06"><center><b>Annonces utilisées</b></center>
|
|
<div id="hintbackground_2012_FR_06"><br/>Glissez ici les offres, dans le bon ordre.</div>
|
|
<div class="title_2012_FR_06"><div class="person_2012_FR_06">Prénom</div><div class="takes_2012_FR_06">Prend</div><div class="gives_2012_FR_06">Donne</div></div>
|
|
</div>
|
|
</td></tr>
|
|
</table>
|
|
<input type="button" value="Recommencer" onclick="task.reloadAnswer('', function() {});" />
|
|
</center>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div><!-- task -->
|
|
<div id="solution">
|
|
<div class="explications">
|
|
<h2>La solution</h2>
|
|
|
|
<p>Voici la solution :</p>
|
|
|
|
<p><img src="2012-FR-06_solution.png" /></p>
|
|
|
|
<p>La manière la plus rapide de trouver la solution consiste à partir de la fin.
|
|
Pour avoir une maison, il faut forcément avoir un tapis avant.
|
|
Pour avoir un tapis, il faut un canapé ou de la peinture.
|
|
Mais vu que personne n'offre de la peinture, il faut forcément un canapé.
|
|
Pour avoir un canapé, il faut forcément un panier.
|
|
Pour avoir un panier, il faut forcément un trombone.
|
|
Et ça tombe bien, on en a un !
|
|
</b>
|
|
|
|
<h2>C'est de l'informatique </h2>
|
|
|
|
<p>La table fournie en question décrit
|
|
ce qu'on appelle un <b>graphe orienté</b>.
|
|
Dans ce graphe, on présente chaque objet
|
|
par un rond et chaque offre d'échange
|
|
sous la forme d'une flèche.
|
|
</p>
|
|
|
|
<p><img src="2012-FR-06_graph-solution.png" /></p>
|
|
|
|
<p>Pour répondre à la question du sujet, il suffit de trouver un chemin entre
|
|
l'objet « <b>Trombone</b> » et l'objet « <b>Maison</b> ».
|
|
Le chemin qui convient est coloré.
|
|
</p>
|
|
|
|
</div>
|
|
</div> <!-- task-solution -->
|
|
</body>
|
|
</html>
|