A 题比较简单 分割字符串 然后倒序输出 就行
B 模拟 按题意模拟
#include
#include
#include <
string.h>
const
int N = 1000 + 3;
//题目说了 最多 1000
int stu[N];
void init(){
for(
int i = 0 ; i < N; i ++) stu[i] = -1;}
int main(){
int T,n;
int i,a,b;
char str[20]; scanf(
"%d",&T);
while(T--) { scanf(
"%d",&n);
for(i = 0 ; i < n ; i ++) { scanf(
"%s",str);
if(strcmp(str,
"Insert") == 0) { scanf(
"%d%d",&a,&b); stu[a] = b;
//学号a 的学生 分数为b }
else { scanf(
"%d",&a);
if(stu[a] == -1)
//如果不存在 printf(
"No result!\n");
else printf(
"name:%d score:%d\n",a,stu[a]); } } }
return 0;}
C
#include
#include
#include <
string.h>
const
int MAX = 200;
struct node{
int size;
int child[20];};
struct node tree[MAX];
int M,N,L;
double re;
void init(){
for(
int i = 0 ; i < MAX ; i ++) { tree[i].size = 0; memset(tree[i].child,-0x1,
sizeof(
int)*20); }}
void cal(
int p ,
double f ){
if(p == L) { re = f;
return ; }
for(
int i = 0 ; i < tree[p].size ; i++) cal(tree[p].child[i] , f /(tree[p].size*1.0) );}
int main(){
int i,a,b; scanf(
"%d%d%d",&M,&N,&L);
for(i = 0 ; i < N ; i ++) { scanf(
"%d%d",&a,&b); tree[a].child[tree[a].size++] = b; } re = 0.0; cal(0,1.0); printf(
"%.6lf\n",re);}
D 当时 我没有做出来 ,现在也因为登入不了OJ 也不好做,不过我会尽快贴出代码
如果谁做出了 可以留言 或者 联系我 fuxiang90@gamil.com
没有评论:
发表评论