2018年第九届CC++ A组蓝桥杯省赛真题(python解法)

2018年第九届CC++ A组蓝桥杯省赛真题(python解法),第1张

概述2018年第九届C/C++A组蓝桥杯省赛真题第一题:哪天返回题目描述小明被不明势力劫持。后莫名其妙被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。并且,以后的每一天都比前 2018年第九届C/C++ A组蓝桥杯省赛真题

第一题:哪天返回
题目描述小明被不明势力劫持。后莫名其妙被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。请计算一下,小明在第几天就能凑够108元,返回地球。要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。

解题:计数
salary = money = 0while True:    salary += 1    money += salary    if money >= 108:        print(salary)        break



第二题:猴子分香蕉
题目描述5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!请计算一开始最少有多少个香蕉。需要提交的是一个整数,不要填写任何多余的内容。

解题:暴力

但看做题速度,暴力解反而要比构造复杂的递归快一些,当然适当的构造函数有助与疏离逻辑,尽快的完成编码

def func(n):    return 4*(n//5)n = 6while True:    if n%5==1:        x = func(n)        if x%5==2:            x = func(x)            if x%5==3:                x = func(x)                if x%5==4:                    x = func(x)                    if x%5==0:                        print(n)                        break    n += 1



第三题:字母阵列
题目描述仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:“LANQIAO”。SLANQIAOZOEXCCGBMOAYWKHIBCCIPLJQSLANQIAORSFWFNYAXIFZVWALCOAIQNAL我们约定: 序列可以水平,垂直,或者是斜向;并且走向不限(实际上就是有一共8种方向)。上图中一共有4个满足要求的串。下面有一个更大的(100x100)的字母方阵。你能算出其中隐藏了多少个“LANQIAO”吗?
FOAIQNALWIKEGNICJWAOSXDHTHZPolGYELORAUHOHCZIERPTOOJUITQJCFNIYYQHSBEABBQZPNGYQTCLSKZFCYWDGOAIADKLSNGJGSOZTQKCCSDWGUWAUOZKNILGVNLMclxQVBJENIHIVLRPVVXXFTHQUXUAVZZOFFJHYLMGTLANQIAOQQILCDCJERJASNCTLYGRMHGFTSDFYTLVIBHKLJVVJUDMKGJZGNNSTPVLCKTOFMUEUFSVQIAUVHNVFTGBDDARPKYNNCUOYUAZXQJNOEEYKLFRMOEMHUKJTPETHLESFKVINSLWEVGAGMKVFVIUBMYOIAFHLVNKNTYKTZWVXQWRWIGPENFXYDTKRVPKRTHMGHVYOCLDCKMEKRLGEKBYUCLolYPAKPFSOREHKWPUOlovMOFBIXYACWRDYBINTMPASPCEOKHXQIGBQQMCEOIVulIEOPFSCSIHENAJCVDPJDOIWIIulFDNOZOFVAMCABVGKAKCOZMGXWMYRTAFGFOCNHLBGNGOXPJsTWLZUNNAGIRETGXFWAQSSJPFTQAXMTQWMZWYVEPQERKSWTSCHSQOOBGXAQTBCHOEGBDVKGWJIFTGZWWJEIISPLMXimgHOOGDRZFTGNDDWDWMNUFWJYJGulPHNUFSAQNNIUVAAFZIAZKFXXNWCEABGJAUMGYEIEFVQXVHHHEDYUITRCQBXZHDPZQTOBECJVBZLACVXACZEDYOGVAVQRNWEOWGRAQYUEUESTEDQTYJUTEFOOITSHDDZHONJGBRCWNEQLZUTBNQIADKNFIOMWZREBFKCVNLURZSNPolTISRPDTNUMCDGKTYRGIOVEPTUTSBAWQKWWEUWIWHAANUZUADGZEATZOQICWFUJTWNZDBKLQNELWVTBNDLNFHPESISEATZNCDFRMXBQUKBFTIGYSFCWVHPMSUSDKPSCOMVLDOHYQVFHAJKRDTAVliMNZBZSMLMRTLRPSLAHXDBASDMWAAYBPYVJZFSccwYHLQOUKBMCEYENQNJXFOMOOJMTKDSHJJOHDKEGATFZHGWJJAZJROWHAZUFGEQKPYXLCAAXHHQBDALPYUDWZQHBASBBCFGQCQZknxUBRYZVSPQHOVLAEUAUITMPWXNXJQVIBJVBCSVXKWFAFRPRWolYVSDVTGGOFFMNQJZOBUDJLFHJTCYMPNOBHQJHGKliKLZMLAPOCKVEQXUAVHERIAQLGJHYOOVOMTXQFRTBFSetoZICPCHZHFBWnesVJJLSVSVOOGYYABFESWNWDNYBGBNAKRCFQMTCUMIFTESVINJCAuliqrYUMAMAOVVWSEUTMECXSDTONRMMROQUISYEURSAYNZUVOPXliFBDOHPXMABBLEQZGLJXQJOEYYRRRCFTEZQAOIWKRJQDLZNUUDWZXZZURPMHGXQGNQBIQWWNERZWulSAPIBODBFFQQIHEQKCKLJYQNXQUTAAYGRBXsllQNOQPZJEWHETQHPXJANMJFOHINWOWKJGAWWFSVIZHFNUWBLWYVPIWAEICCAHOEIWRADSLOZGPSVGPUBUUQAVYCHOIGINKYKJABWAQCZCXOBKTNJZQRHLUFKQLACAAOIWJSIKWLXQHKDFJVGBVXWDWJKUSFRQRTDJYQMNFOQQALHRLMHSDMCFLAOVKDMTKMTPVTLAZLYJNJXZCFRHHSDIXYUUSVIMIICLUJHFWJHWUSMCFYHPIXHAPBBSHYDQCKVGQFTENLVERFVOVDCLSTQFUSEPUMTFODLZLYQXDOXAEPONIQWTDWSAWBNSZYACGSJQSHAUMIKXTMVBNFXMFNPAYSODPXEAYNRKTEZJWMUACSIUYPIORUFPMXAOZZJPJXPFLNSKNIAMETMOVulZPQIJJIRCSYQXOEVRHCNACSBRHKYNWKGKBTBHGWKVJYZCOVNSKUREKZEIWVLOHAMUAYKLUGHEUESICBZAHURNTJAECTHRNKSIJQFIPVZANSZYSPJWHPKHCAPEYWNXUYQSDRRRFYQFIQSWYRQTSNGNUFOBMSLGAFWPJGYEHGASFKTJCCZPXFIQLSXNKNWCYVTetoAPCOZJNHEWOCCAWVDEZUQCLLAVUQJJTQCKJNMBKMUENVGXXVMQclxPJDQIQCFWYADIFDsgiNGZDJYHPUPXVRMWDIPJRWPNRYOFGYYPEAVKDEMLYRRRMNCRQXPTDSQIVKKGJWDEFSBAEKIFZCKDOMIQKBDWVQGBYWPDIBolQUGAQRXLJDAZMXVZXYSNWEWTNZKYREMBEUHOTFOCKEJsXCMUBCKXNGQXTQJRCRCLWJTOIYXBFBIBRAAFNPKBLTSMCFERZURZNWHMOEHIHNQTBWXNPJGIDYDPRGEWACCBulJRACOFLANQIAOIHMYCNQHVKXSIGAMWAHUSNBBTDQDGPTRONXHAZWOUPNBFJFEWAMFZUQZFDKAPNJUBQPWBPYGPZHKUDZZDLccwHGAUKJCsllFWGPYJKJQBNLCZESOGXXSQCVVKVRVAWNXPGQOUEFLUZHHSAODIWEPZLXVQLYGVOOVCCREDJZJOMCSCFFKEIEAVCTPUZOWNolJHGBJHJFBFFORGXOXXFOCAGBWEFCIDEKDLBPTXSUINQAJURNFQPMMSPLZTQAHCIOFJUEFFZGIHTSJNIEXQLLHRQUXXLLORJEHGQJOXSliAVFPEJNGMMVAXDDMPXLOSTRLLFLYRMJQNCLENGTROIKDWBMXRNJYPGZRQOREPJJPTXKVVKPYYZenEOIQKZOPXAYGFXORXRIDGATHMZFDJIOIOKVDJBHSXQMYCBYFGXWHLHCITGTILGPGBHZMNWWHXEFPGDPJUVFBJKAQWACZHPRPJYColGZTBDCVHNRSUAJUQAWAPMQJDQIFPZQZEONWHIYKMXDZOMVETEFJRBRDOTIDCFEESOKYPYCGQQKOGPMGjriTSVTKOKDSXLRLJRRHNFRFXCMDNQMCEGZFJWHZOAFBQXXPXNBSWTSUYPAWQRHAUGLNPBRSJTHOWRIUGMOQTUYIHDWJRFBWWKWYKCICSVBVKTBIIWGFSVIFCTUKIHHUUISCOTEOYRWQXTAEBXQQolLMOALNIYVCCHNSWIKHMYYNZOOFRIYYXPPSRTPAYMUJsSDILKIZAYSEIolANQIAOVKARDPGVFCSYBSNHAPGTIKLAWTTKOEADWRLAACAAFYTBTNSGFTYLYUHJXBMMANJFTMLUIBKDPWBXQOMBVQXCZOIREHRSZCSJOIVBXWQIBUTYBQNTZRVROHGOIZYAJWXLEATLOZJIKJMIHSLGSVTCXJWIOOGWSERRQDBQJNGBLRIYFIKHBEYOZQBOAGGNIZKFDHWXCFNJLBQXVLHIQNIBZSDLTTRERHNWCMLJCVBBGGAQTPUQHIRABXPQSYGSDVMBNNDFGKPLFUYXHYGOCZppxMWCZYNKCYBCRZVKFBHQXPGPBZFTTGEPQTJMOFHAYSQQZDMQECGXOXADYHNNXUKNBXZBYHBOulXNBJZKIZREFLVHAMSNXJOCVRPVGJUWXFVOCUCLCZDXRPBBDRLRAVVNLOZWOHWMXYSNMXAKJYWYGILNGUJGIPKAUDVANZLFWKUWWUSQYBRCBVDIJQCXPLOTPPGXCUZOUsstXHVMLHVMJTUSSOPLRKEBQSGWNGVHKANVZWYQHSHLipwSYCPKTUKPMWPLVFLLAHXZQANFXHFNYHIQVIOYNZPTJJCBHXPSUPOMNRVCKXSUFCNRCRNCPTPGIDQOEQUDFNUNMJPOEKVIMUJAJZOUKMAFSLDWYMCHTSNJYUDJAHQOIXPYSRHVAFFCRDCGMEEWXWMNOSSJNIZCINRHENPPPCYVFWYCOnopKXMFZXXIHNXIGAHAMHSBRESOETGVXWDNQLGCEOUDDJXHQIVCHRNKBFFEWILGYSOAIQNALXRBSGAQIDQVMVDKVZCPMJNXKXRXPFZAUVQPBHHQKTPDSQRolQTUGMFQRWGVEWCYPDYDZGNNNUFKJUEHJKPliQNRQYXHUGKGWUCJXUKAEHLRLNDFUQPSJAZTVJRXWXQVBMRJXulEMJJPDCVTOWVfdbVLSBHZRRQUVMUQYKTJCLSGGHGCPHPHMWYAECLJIZUWVQQNKPQRJMSOCEAYDNKPHVEGKAGCKAPDXTGVXulHUXHJPdxcSKQTCJENVTZTMRUENCSWHBEORALSREBWAJEMQDXMRKGHJGICDHKHYYNSDSWDRLBBFUFVVICMGUCGBSVDLJNXGKXNFGVLKAVBJRRRUHKRXTPBJAKIEBAVMdioJliUDABCGNPNJIYBCXMOOWKRPHPYSWRDCBORWTNBISSLTVKBRTLWKRNCEDCNEGCIYJIPDICFAVNOISYAHWBLGMNFKXZYTTWJOBEPNMSJEJMHXVPGOJolQQQVXFGEulANQIAODOQetoJHCZXGTUKIWGMEVVMXCURISUOFQSAWZWDMZWVYHZMPEIMWKJDGERODVVUXYRTYLCRGYQQOIOFZSSZRAIESWBQOAIQNALJNRheyWHPLLPCUEOCBAOWGAYEJZQJHLVNMVQNSQQGGUBOIMDPFlovSQGBLYAMBRYJDVOXOQINLJAVYALAKHPKOYNKGXIISSJNGKHYMSIQVRYKXCUFIRNENEXFJTMOTJWYXSMTDHHPRHWIXETWVvixZELKLLWRWQYGBCGJNYSUQEFCOUDNIJMLJNLAWSYJGulKBCFPYVSSMWWQHGWRQFWFOTGPBBSJBDUKOMBXNRPIMCGPGVZFADWTBVIEMVTBXVAFQDDMJALCOMZTXUFFKBQQZDFAMTFWEXTHBKNWRLUVITQXLNOPPJQKNGHWWPENVQIABJCQNKXNPWOWRFEOKQPQLANQIAORGGolAYCEGZBHZVLPBERWYIJNJUNXKulUQOJLTNRDZDEYWEMYCHJLLBLJISOAQLXJEFXVTOZSIColQIJEXUANJWIFSimgUQWHBXUDwoeILYFUZTGDZDSPLZPDPXBLFAXLEFQFEPDSJQWEQMXKKHCXHMSATMUMUJENPBYKZLWAJAXJKDIYCBREBPOETQHMRHLKSEZUIPRGWIZDDQLSJAPKPBWMJMPZWLNFLFCQOCDBMliHIYCXUJLFLPZVGWBKMYWHZJLKEWUPETVUREKVKCLBNYFLWCERVIPUDINNWGQTUHWXCTDVTMYATYUZLMVLOHKBOGIZCQDOWFBCWJAVUXYUEVRKPOXCKHAWZCRPLNLCUHJRADHJNSDPZXIKXGUKEJZCFJQASVUBSNLXCJXVCJZXGMRYRLOBCNGPDUJQVEFKMYHNZGZOAIQNALQDHTBWJXPKJLFXJYMKCEZEDAFGSOCORWJGMOKWPVVBVDYZDZHPXFWJBDELHPGOQHMBAHUUUJMGXAEKZCTQTBXNVYUIQUVZGXSKQXJWRUPSFIJDYIAORCGKFKQNXPJWOPPBTUKTHUBIROSYOVFEMJBRREWICJPCIOSTWPAUSKTRQulXPWRSXHSRYBCWYCYOTCTPFsqlDIIliGMEVZKYSOYRPHSFDSCSMLLNARCCGCBJOGZAEQTGNGSFAQIXLPDBSWZDTYVASYYPVBRFBTIAGGWONGSVKCJDBBLYKAIOXUATGMALZXFOHZFTXALCFUCUsstLCRYPDTFSFJFENKJWTEBOBEPLSNXLALQWCKSLVMZQDJITHZKVCCQXTEXOSVAUFYAZXJUOAPPVEEWOIIMOSZZMCOQBRUXWKGPDOFSCKKJJTRYRWGLEZODQTJsIMXIAolNMLPHBAYLPTTLPYWILSEIIQVSXNHIJEORVCNJHYXRBIZZJTADGMRTSXVRXYGVQQNUEICIHNJOQXUXTXFPALCHOELNVMWDWQTEARUKPIFWXJsMWZLMNLAODUTKNZDYRFRLGBliBGIBXJBOYMLYLANQIAORORYKSJPOOOAMVRNIWIUHLYJKTQGVJBDPROSRGZUFITDIBCDPICNEfigHWGSROWBYKUCLCQYLJXLHLXSCTJWKDLHHMLDBZCVDKPXYYASHUUMUJMVSXADGXOYXQFEBFIEJJLHBNGSYALOUXNQBXXZAAZJXENJJVVGFVHOTKSLEGLJVSJCQHSSZFEIOGBOGWSPIRENQAAWRQFBEFEXBKGMSTRCPYIANSGMNKBCDPHWDUPKICQEUDNZPNGRUJYSZIRLXGXXITAFBCANGDLVAQLDPVTJNSAUZMBBNOBBOERSHQIolBVTSPPJKVCMXUBSIKMDIYSNCJZKJKJQMTIKEPRUNAHJUSWJHSLWIVWHYAYLOIOGSZVWKQWXZDBPHWZRAIPMXDJHBIISVJWVEVZAEGAKCYYMNZARBZPCDLDFVQDFDMVHYVOWEKMFKWUXLTPWIVKPRZZXolMDAPAIQEKJHCHYAGJDBOFWDGNEGQGOOKWSKLTLREMGGTVJFHAIBCQKNZVRCZYSFBQASGNCCBBGNKJHCDBTGBIIWKMPHDABKEWDEPYEAVKNMPATUZZUOEHGUGAZNECSGUCIIJPMMRAMTVADMTCRJCBWDLWWFNFOWMVZXFJFBGDAVGGAIZHAUIYENDZTRUWHPQUFWCHOXNCWYNAWVPLBLNQKQDTKQQKXNFXCTBGRWUZFHNRBDNLNKQVolLGBBJQIYOBCEIKOCURAGWXMLYBSIZLAXFONZZMQMRNNSRQKRHQGFGZUTLONAYRKSSOWAMKZBSGOOYQDPTBHGPBNQEDCZHRTOXREOFJEKJVIZXZBCJPNKGYBZTZRKOGBETJRUWRNUCIFKIMCZGYTZLCZYGCGKVZRJIFZQIQPTCPPUHYWIXBOFFGSGSaimNGKKUUROAVNJUQQNSWJRZIZEHAFDDAOBVCPOVODVJFLSNPJXHWQBHILWZAHQQMTQASNADZLZNXJLJMFCOUWOZJCMVVTYCKTUBABWLCEBNYWAMolNBQQYBRUJCQCZALETVVRPMYFIKINHIUEJBDLTCUMMUWICIUVCZNIQIUEWVAHLANQIAONMEYJWPDAFXVNOSOFDOCESSLGZPTJINBUAFWWWMPTYALZIGVDDCZGKILMBFXIQQFEKJBIUDEMIFCANVGNYZAYSQFMNNQFEPZFUUVGTBKSMDXITBLANQIAOQUKTPNYPOWSQQYWWMJHSDYVFDJYXBAFVGYXAMDRRZWVIHNQPZZWRNWBTROOJolNUGXBILZKQEGIQSYGKZGODPWBJsCMRRWSSQURUFIAFQGEZLGZNOEQMNQEYUKPEQPPVAMOSYSFUAJFKIPUJVQSZRWQCJYAUMLDDNOKODDXIEQIFLANQIAOZFUNKUBVDBLMJOAUTVCZVLKJRQIORQPGAVCEYVNYUZHXILHERYECGJEKWEKIJNIWUXZNVIWIAANHIOSolATSQFSS@R_435_5301@UTSPPYfheHLVliBJZEEBCOWMNHFTZMAPKFUPNFLTFFJQRVJHAKDVMGGUIXKAKXXNKSOAIQNALLWKWGVACYWBQEVTFSEUCYRORQTHWFUJFLQHONWZEKPLSNPRPBOMOFFCPMKXFZBKIERBKDYFKYUEYVYRPMOAQIWNICDLQKZXGTKDLIEFBGELGJOAIQNALXZLGGDQIBVEulDPBWUJNTYOKFBpgmAWRRUJPPIGYCNYURNOSQRIRBAZAGWWDUHAAZQWPTKFXZQXRMKSBUXWOUVVHSJWTLKZELGXMMAIDSJIWGCJPCBWZIEKMNUPUAFHTUMOZKJWVTIAQNOHELEMWGKJHKPNJVSRVHAUFXBUOUXOWCZJYQLXJRUOOYSKDLDXKWTTJBYBTLKSWRUYPOYTPBGUJXBMRWNELBWADCSZDAEEFGPVRHNNLBFDDXNPDXLKQUSJAZDEUDBMBDQIKYEKMVUHGGWZDKXFVQQNECZOAWCFUBHQMEPEPKEFSDBAYJQOSGAIHRBRAUKLQRANKMTTIOJDDXAEWTQHIYSGRRMEFTNNWCLZSIZFUQAQCSFNVUqmkUQWBWFQIEQVVXPOSVIDTUOBLLTGHQKEMSUWWHWRISLGrdPPQPZBANSGDWXKNYTKMWECPMPDYSCJZxpuKPWGYICNGVLBSCBHRLJARWSRENGHYYQDKRATERCPEAOPAJZUMOYIDHVPDMQPKKHCBAMRBGEIEXXJALMCXKPUGXYVINRORFYURXAMOJCBZQYJHHAWESCLMDIHVYMLAJZQSYTDEURWYPolJCAKiksATGVIALBLWPPKDEGSPMRLDBQNVPPCLQXKUQLQJERMYFGAETUATEBQZUMGUNNBWUBVXYDFPLPJYLIDFVTVKKGFWMXVINLJUDUPABTSBJAJENZSXIMUJQWPEZTAVDMBBHFYTJKYFXIXQTBTTQIKQXQDPWYNMXRQDJOGWLZQUBJJHAQNPVRGHGPNMMJPIDGANYEEDWYPolKLNEPYSRTQYCJLSWFRJRRGGSNSDHIXYYSNAKKBWQDDGYYmogPUXQEUSAPSOUCLLSELRVFZUFYVTJQKCQHNIcmeRWQFQNPVRPIIYKHZWJYJAFCLNSZXUHSPOZWQUMJHLKKYJENVZOCSWCTPYWIZONUUCLSUROGAYSAZGNIMXPLPCEPulRRBHHQOBELHJZPUQAMWUASVKDXVEWAOFMAYSJFXHCNEUXUQWUESFBRUFZQLKKWHCHKOPLECCBYSLECAEZIMMITUUEOCEBAUKWLTSYJjplZTIaraOZXKYYWIOXBBTZZCSAulKNEJWVQXIKUWBIWVHGNTHVBAWAVPGLHSDJDLPVHHHUNVSFKXARXLVQEMVDFSLANQIAOPTLFLFRKGNUZCTXWCAXHECTZFHWUFENRGQICHTYLSHZWIEGLNVDJZOMTKAAUWOHVOVOCTUKOSINSAYIAEUYORNAVGPrmlCAQZIPRFQOZMEFTQZYVOTVFNVOIQSJCIPPQXQKJIXICUIGMHAJJMSXENCBQFIJHNZXIQMWACKDKQSEWWKMLOAUPFHAZGRYSQWQMRSQBGGKYKGWEZYRIHWGNXRPOUMFSFGTYDLUDWPWAVQORTMQUXWKUQVNMDPWQFIZPOIHCJATODRQGZDMQXZVNXXVEJNGWZOMPVBGZSQPCELDIWDHOQWAUHILGLPYRIICTLFSOYKQZYZOCIZPTECSWOODGGBDTsgiMYGMVPJPRPEVWOOKYFWRGXHWUCRQNYJEMSYLXWOFXFVDXPTHYTCEGMODCILAHYBREZVVHOUPZKCNHUEVPMKHUBNRPFMWXVQACVZCALZLYMZSBLCEASPMIEFOTGKMPGWYQADSNDPRQPHAVLZDZLKIEISFLLVWXAVBZLZIJRHGROUVGXRDLUJAXNHBBZYNCVERJGSKLWZEKGJBCWMSMLYIHZFFMIOGVIMZQBSRHQWAADYNMNXEGTdxcDKIUDOISQXEUJWETPELKBCYFSDNJQWNNBPYMWBUPQBAAINMYZOYCEGNLFNNHZFEMSQVXJJGWBCRAVKZFWFBKMBRVBFDHKACSZIUWUXLWKFPKOCUQJEPQDZCMUJFLVCliOQQRVKSWFIAKNHMRLNJTKGVNTGLCVPVMBLJANOBCXUGVWBJYSIXZQVAVFWILWFBQWNLTPMCYHRSKVHXLONRANWKWXUTHYQliOFKGDBMSWDRCYRKVSAGGRJMWQYQFLMUIGGCLAUQAACTYLPZEOJBHMWRKHCRXGTGRMUPCPQKJRBLYDNPUGHCRBVYBAIRVCAWLBWVWCMKNBIRKJOUGYQEBQRHDSTWXDIWGRVMliJFBWHLHcdaAVUDLZSCGQNOUXVUIVIZZZMDNMHGYPFUUDWKQGTAKKGCDFJFYJFNRZVXDPGZEAMWQVQZodkTXHIYFVKJsSAWVHYCUCZMLLBPXTILDYJQEMWDRUFKISOUVPUDTYPBFDAQUBXHUJYTAYNWVIJNUSQDTQDEMUAPWXRYUWONTBDZCHZOUEGPMWEZTQWWSHAYOBWVTDIMZYNVNZKUHOFCQKPHJXWNRCGUJEKOWSDAUGUTVWCVHEMOIRJJGTANUWTSAIXXEVZTBDHPGSRHHVWCDZVZYRJTLONIJVXEATHQXOUKBIGZONFRSZIOGWNTYAJYLQCGEOWY

解题:

1.把输入转化为矩阵
2.定义【计算每个小矩阵里符合题意的序列】的函数
(1)用列表生成式列出四条直线上的所有坐标
(2)将每条直线上的字符串相加得到一个7位字符串
(3)将该字符串本身,和其取反的字符串,与“LANQIAO”匹配,计数
3.利用矩阵切片遍历大矩阵中的所有7*7矩阵,并调用函数处理,统计答案

import numpy# 输入array = []with open('test2 input', 'r', enCoding='utf-8') as fp:    for line in fp:        array.append(List(line.strip()))fp.close()array = numpy.array(array)# 处理函数lst = [    [(x, x) for x in range(7)],    [(0, x) for x in range(7)],    [(x, 0) for x in range(7)],    [(x, 6-x) for x in range(7)],]def func(t_arrray):    count = 0    for pos in lst:        strs = ''        for y, x in pos:            strs += t_arrray[y][x]            if strs == 'LANQIAO':                count += 1            if strs[::-1] == 'LANQIAO':                count += 1    return count# 计算结果res = 0for y in range(100):    for x in range(100):        try:            t_arrray = array[y:y+7, x:x+7]            res += func(t_arrray)        except:            passprint(res)



第四题:第几个幸运数
题目描述到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。请你帮小明计算一下,59084709587505是第几个幸运数字。需要提交的是一个整数,请不要填写任何多余内容。

解题:排列组合

1.找到【由3,5,7三个因子组成的;小于59084709587505的;其中因子数最多的数】的因子数count
参与组合的数一旦超出这个值,则必定越界
2.对[3,5,7]进行组合(允许重复),再二次筛选,找出符合题意的(小于59084709587505的)数,进行计数,得到答案

from itertools import combinations_with_replacementnum = 3count = 0while True:    num *= 3    count += 1    if num > 59084709587505:        breakdef multiply(a, b):    return a*bres = 0for i in range(1,count+1):    for tpl in combinations_with_replacement([3,5,7],i):        x = reduce(multiply, tpl)        if x < 59084709587505:            res += 1print(res+1)



第五题:书号验证
题目描述2004年起,国际ISBN中心出版了《13位国际标准书号指南》。原有10位书号前加978作为商品分类标识;校验规则也改变。校验位的加权算法与10位ISBN的算法不同,具体算法是:用1分别乘ISBN的前12位中的奇数位(从左边开始数起),用3乘以偶数位,乘积之和以10为模,10与模值的差值再对10取模(即取个位的数字)即可得到校验位的值,其值范围应该为0~9。

解题
def func(n):    return (10- (n%10)) % 10strs = '987'+input()strs = strs[::-1]res = ''for i, n in enumerate(strs[:12]):    if i % 2 == 0:        res += str(func(3*int(n)))    else:        res += str(func(int(n)))print(res)


第六题:稍小分数
题目描述回到小学----真分数:分子小于分母的分数既约分数:分子分母互质,也就是说最大公约数是1x星球数学城的入口验证方式是:屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个分数越大越好。同时限定你的这个分数的分母不能超过100。

解题
a = int(input('分子'))b = int(input('分母'))def func(i, j):    for n in range(2, i+1):        if (i%n==0) and (j%n==0):            return False    else:        return Truetmp = (0, 1, 0)for j in range(2, 101):    for i in range(1, j):        if i / j < a / b:            if func(i, j):                if i/j > tmp[2]:                    tmp = (i, j, i/j)print('{}/{}'.format(tmp[0], tmp[1]))


第七题:次数差
题目描述x星球有26只球队,分别用a~z的26个字母代表。他们总是不停地比赛。在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)输入,一个串,表示球队获胜情况(保证串的长度<1000)要求输出一个数字,表示出现次数最多的字母比出现次数最少的字母多了多少次。
输入:abaabcaa则程序应该输出:4解释:a出现5次,最多;c出现1次,最少。5-1=4
输入:bbccccddaaaacccc程序应该输出:6

解题
lst = [0]*26strs = input()for i in strs:    lst[ord(i)-ord('a')] += 1max0 = 0min0 = len(strs)for j in lst:    max0 = max(max0, j)    if j != 0:        min0 = min(min0, j)print(max0-min0)




第八题:等腰三角形
题目描述本题目要求你在控制台输出一个由数字组成的等腰三角形。具体的步骤是:先用1,2,3,…的自然数拼一个足够长的串用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。比如,当三角形高度是8时:       1      2 1     3   8    4     1   5       7  6         1 7           6891011121314151为了便于测评,我们要求空格一律用"."代替。
例如:输入:5程序应该输出:....1...2 1..3   2.4     1567891011
再例如:输入:10程序应该输出:.........1........2.2.......3...2......4.....2.....5.......1....6.........2...7...........0..8.............2.9...............91011121314151617181
再例如:输入:15程序应该输出:..............1.............2.3............3...2...........4.....3..........5.......1.........6.........3........7...........0.......8.............3......9...............9.....1.................2....0...................8...1.....................2..1.......................7.1.........................221314151617181920212223242526
资源约定:峰值内存消耗(含虚拟机) < 256Mcpu消耗 < 1000ms

@L_502_16@解题
n = int(input())strs = ''.join(List(map(str, range(1, n*2+4))))l = len(strs)for r in range(0, n):    if r == 0:        lst = ['.']*(n)        lst.append(strs[0])        print(''.join(lst))    elif r == n:        print(strs[r-1:l-r+1])    else:        lst1 = ['.']*(n-r)        lst2 = ['.']*(2*r-1)        print(''.join(lst1)+strs[r]+''.join(lst2)+strs[-r])





第九题:小朋友崇拜圈
题目描述班里N个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己)。在一个游戏中,需要小朋友坐一个圈,每个小朋友都有自己最崇拜的小朋友在他的右手边。求满足条件的圈最大多少人?小朋友编号为1,2,3,…N输入第一行,一个整数N(3<N<100000)接下来一行N个整数,由空格分开。要求输出一个整数,表示满足条件的最大圈的人数。
例如:输入:93 4 2 5 3 8 4 6 9则程序应该输出:4解释:如图p1.png所示,崇拜关系用箭头表示,红色表示不在圈中。显然,最大圈是[2 4 5 3] 构成的圈
再例如:输入:3022 28 16 6 27 21 30 1 29 10 9 14 24 11 7 2 8 5 26 4 12 3 25 18 20 19 23 17 13 15程序应该输出:16
资源约定:峰值内存消耗(含虚拟机) < 256Mcpu消耗 < 1000ms

解题:

有向图中找环,但有偏向搜索

模拟,建图,计数

n = int(input())lst = List(map(int, input().strip().split(' ')))res = 0for i in range(n):    sets = set()    count = 0    x = lst[i]    while x not in sets:        sets.add(x)        x = lst[x-1]        count += 1        if count > res:            res = countprint(res)




第十题:耐摔指数
题目描述x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n为了减少测试次数,从每个厂家抽样3部手机参加测试。如果已知了测试塔的高度,并且采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?输入数据,一个整数n(3<n<10000),表示测试塔的高度。输出一个整数,表示最多测试多少次。
例如:输入:3程序应该输出:2解释:手机a从2楼扔下去,坏了,就把b手机从1楼扔;否则a手机继续3层扔下
再例如:输入:7程序应该输出:3解释:a手机从4层扔,坏了,则下面有3层,b,c 两部手机2次足可以测出指数;若是没坏,手机充足,上面5,6,7 三层2次也容易测出。
资源约定:峰值内存消耗(含虚拟机) < 256Mcpu消耗 < 1000ms

解题:动态规划

动态规划-诺基亚耐摔性测试

h = int(input())n = 1fa = fb = fc = [0]*hwhile fc[n] < h:    n += 1    fa[n] += fa[n-1]+1    fb[n] += fb[n-1]+fa[n-1]+1    fc[n] += fc[n-1]+fb[n-1]+1print(n)


总结

以上是内存溢出为你收集整理的2018年第九届C/C++ A组蓝桥杯省赛真题(python解法)全部内容,希望文章能够帮你解决2018年第九届C/C++ A组蓝桥杯省赛真题(python解法)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1187365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存