【打表】【暴力】【模拟】JZ(野鸡)OJ·手机

博客围绕一个手机键盘打字问题展开,题目要求计算输入一段文字在手机键盘上的敲击次数,如输入“i love ssl”,需按规则算出敲击总数。博主认为这是水题,但因野鸡oj不用getchar就出错而爆0。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

野鸡oj不用getchar就不对,我****,md又爆0,我…


题目大意:

一个手机键盘
在这里插入图片描述
让你打字,比如: i love ssl
i是4里的第三个,记敲三下,空格算1下,以此类推,得出敲一段字要几下。


思路:

水题,但是getchar我******


C o d e Code Code:

#include<cstdio>
char s;
int f[30],sum;
int main()
{
	freopen("mobile.in","r",stdin);
	freopen("mobile.out","w",stdout);
	s=getchar();
	f[1]=f[4]=f[7]=f[10]=f[13]=f[16]=f[20]=f[23]=1;
	f[2]=f[5]=f[8]=f[11]=f[14]=f[17]=f[21]=f[24]=2;
	f[3]=f[6]=f[9]=f[12]=f[15]=f[18]=f[22]=f[25]=3;
	f[19]=f[26]=4;//打表
    while((s>='a'&&s<='z')||s==' ')
	{
	  if(s==' ')sum++;
	  else sum+=f[s-96];	
	  s=getchar();
	}	
	printf("%d",sum);
}

M y My My 0 0 0 p t s pts pts C o d e Code Code

//MD野鸡oj
#include<cstdio>
#include<iostream>
using namespace std; 
int sum,cd;
string s;
int main()
{
	freopen("mobile.in","r",stdin);
	freopen("mobile.out","w",stdout);
	getline(cin,s);
	cd=s.size();
	for(int i=0;i<=cd-1;i++)
	{
    if(s[i]==' '||s[i]=='a'||s[i]=='d'||s[i]=='g'||s[i]=='j'||s[i]=='m'||s[i]=='p'||s[i]=='t'||s[i]=='w')sum++;else
	if(s[i]=='b'||s[i]=='e'||s[i]=='h'||s[i]=='k'||s[i]=='n'||s[i]=='q'||s[i]=='u'||s[i]=='x')sum+=2;else
	if(s[i]=='c'||s[i]=='f'||s[i]=='i'||s[i]=='l'||s[i]=='o'||s[i]=='r'||s[i]=='v'||s[i]=='y')sum+=3;else
	if(s[i]=='z'||s[i]=='s')sum+=4;
	}//我****亏我打这么整齐。
	printf("%d",sum);
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值