poj1013

  1 #include <iostream>
  2 using namespace std;
  3
  4
  5 int weigh[12]={0};
  6
  7 char dol[3][12];
  8 int ba[3];
  9 char dollar(int n);
 10 int abs(int num);
 11 int main()
 12 {
 13     char c;
 14     int j=0;
 15     int k=0;
 16     int n;
 17     cin >>n;
 18     wdffhile(n!=0)
 19     {
 20         n--;
 21         for(int i=0;i<3;i++)
 22         {
 23             j=0;
 24             while(1)
 25             {
 26                 cin >>c;
 27                 if(c>=‘A‘&&c<=‘L‘)
 28                     dol[i][j++]=c;
 29                 if(c==‘e‘)
 30                 {
 31                     ba[i]=0;
 32                     cin >>c;
 33                     cin >>c;
 34                     cin >>c;
 35                     break;
 36                 }
 37                 if(c==‘u‘)
 38                 {
 39                     ba[i]=1;
 40                     cin >>c;
 41                     break;
 42                 }
 43                 if(c==‘d‘)
 44                 {
 45                     ba[i]=2;
 46                     cin >>c;
 47                     cin >>c;
 48                     cin >>c;
 49                     break;
 50                 }
 51             }
 52         }
 53         c=dollar(j);
 54         cout <<dollar;
 55     }
 56     return 0;
 57 }
 58
 59
 60
 61 char dollar(int n)
 62 {
 63     char c;
 64     int temp=0;
 65     for(int i=0;i<3;i++)
 66         for(int j=0;j<n;j++)
 67             dol[i][j]-=‘A‘;
 68     for(int i=0;i<3;i++)
 69     {
 70         if(ba[i]==0)
 71         {
 72             for(int j=0;j<n;j++)
 73                 weigh[dol[i][j]]+=30;
 74         }
 75         if(ba[i]==1)
 76         {
 77             for(int j=0;j<n;j++)
 78                 weigh[dol[i][j]]+=1;
 79         }
 80         if(ba[i]==2)
 81         {
 82             for(int j=0;j<n;j++)
 83                 weigh[dol[i][j]]-=1;
 84         }
 85     }
 86     for(int i=0;i<3;i++)
 87     {
 88         for(int j=0;j<n;j++)
 89         {
 90             if(abs(weigh[dol[i][j]])>temp&&abs(weigh[dol[i][j]]<4))
 91             {
 92                 temp=abs(weigh[dol[i][j]]);
 93                 c=dol[i][j];
 94             }
 95         }
 96     }
 97     return c;
 98 }
 99
100
101 int abs(int num)
102 {
103     return num>0?num:-num;
104 }
时间: 2024-10-22 19:25:18

poj1013的相关文章

瞎搞poj1013

http://poj.org/problem?id=1013 题意:给你标记从A到L的石子,其中有一个石子,可能会轻于其它石子,也可能重于其它石子.你只能通过三次天平的测量去找到这个石子.天平的三个状态,even 两边一样重 up左重右轻 down左轻右重 思路:标记even状态的所有石子,再用一个计数器去记录up和down的石子的出现次数重就加1,轻就减1.(超重或超轻的石子只会有一种状态要么+要么-,其它的石子会因为这个石子的影响有两个状态所以允许+-的抵销)最后你只需要找出出现次数最大的一

POJ1013称硬币【枚举】

Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 52474   Accepted: 16402 Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit ev

关于ACM与OJ

初级: 一.基本算法: (1)枚举. (poj1018,poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295,poj3239) (6.1)模拟法.(poj1008,poj1068,poj2632,poj1573,poj2993,poj2996,poj3087) (6.2)模拟法(高精度算法)(poj1001,poj1503,poj2389,poj2602,poj3982,21位大数的水仙

【转载】POJ水题大集合

POJ水题大集合 poj1000:A+B problempoj1002:电话上按键对应着数字.现在给n个电话,求排序.相同的归一类poj1003:求最小的n让1+1/2+1/3+...+1/n大于给的一个实数poj1004:求一堆实数的平均数poj1005:由坐标 (0,0) 开始,以半圆为形状每年侵蚀50m^2,问(0,0)开始到(x,y)结束需要多长时间poj1006:三个周期是常数.现在给三个周期出现高峰的时候,问下一次出现高峰是什么时候poj1007:求字符串排序poj1008:一种日历

北大ACM试题分类

OJ上的一些水题(可用来练手和增加自信) (poj1003,poj1004,poj1005,poj1207,poj3299,poj2159,poj2739,poj1083,poj2262,poj3006,poj2255,poj3094) 初级: 一.基本算法: (1)枚举. (poj1018,poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法. (4)递推. (5)构造法.(poj3295,poj3239)(6.1)模拟法.(poj10

北大ACM - POJ试题分类

1.入门水题 可用于练手与增强自信 POJ-1003 POJ-1004 POJ-1005 POJ-1207 POJ-3299 POJ-2159 POJ-1083 POJ-3094 2.初级 2.1. 基本算法 - 枚举 POJ-1753 POJ-2965 贪心 POJ-1328 POJ-2586 递归和分治法 - 递推 - 构造法 POJ-3295 POJ-3239 模拟法 POJ-1008 POJ-1068 POJ-2632 POJ-1573 POJ-2993 POJ-2996 POJ-308

(枚举)称硬币

题3: POJ1013 称硬币有12枚硬币.其中有11枚真币和1枚假币.假币和真币重量不同,但不知道假币比真币轻还是重.现在,用一架天平称了这些币三次,告诉你称的结果,请你.找出假币并且确定假币是轻是重(数据保证一定能找出来). 输入样例1注意:天平左右的硬币数总是相等的ABCD EFGH evenABCI EFJK upABIJ EFGH even输出样例K is the counterfeit coin and it is light. 题解: 原文地址:https://www.cnblog

Java-POJ1013-Counterfeit Dollar

在13枚硬币中找出fake的那一个 输入:三次天平称量结果 1 package poj.ProblemSet; 2 3 import java.util.Scanner; 4 5 /* 6 我怎么觉得是贪心算法呢? 7 起初对所有硬币标记0: 8 如果是even,则两边所有的硬币记为真(记233): 9 否则就对不确定的硬币记录怀疑(++或者--根据天平倾斜方向): 10 最后只要看哪个硬币的绝对值最大,也就是被怀疑的次数最多,即是假币. 11 */ 12 public class poj101